{
  "openapi": "3.1.0",
  "info": {
    "version": "2.0.0",
    "x-endpoint-cost": "light",
    "title": "Telnyx API",
    "description": "Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.",
    "contact": {
      "email": "support@telnyx.com"
    }
  },
  "servers": [
    {
      "url": "https://api.telnyx.com/v2",
      "description": "Version 2.0.0 of the Telnyx API"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Access Tokens",
      "description": "Access Tokens creation"
    },
    {
      "name": "Addresses",
      "description": "Operations to work with Address records. Address records are emergency-validated addresses meant to be associated with phone numbers. They are validated for emergency usage purposes at creation time, although you may validate them separately with a custom workflow using the ValidateAddress operation separately. Address records are not usable for physical orders, such as for Telnyx SIM cards, please use UserAddress for that. It is not possible to entirely skip emergency service validation for Address records; if an emergency provider for a phone number rejects the address then it cannot be used on a phone number. To prevent records from getting out of sync, Address records are immutable and cannot be altered once created. If you realize you need to alter an address, a new record must be created with the differing address."
    },
    {
      "name": "Assistants",
      "description": "Configure AI assistant specifications"
    },
    {
      "name": "Audit Logs",
      "description": "Audit log operations."
    },
    {
      "name": "AutoRechargePreferences",
      "description": "V2 Auto Recharge Preferences API"
    },
    {
      "name": "Billing",
      "description": "Billing operations"
    },
    {
      "name": "Billing Groups",
      "description": "Billing groups operations"
    },
    {
      "name": "Brands",
      "description": "Brand operations"
    },
    {
      "name": "Bucket SSL Certificate",
      "description": "SSL certificate operations"
    },
    {
      "name": "Bucket Usage",
      "description": "Bucket Usage operations"
    },
    {
      "name": "Bulk Phone Number Campaigns",
      "description": "Phone number campaign bulk assignment"
    },
    {
      "name": "Bulk Phone Number Operations",
      "description": "Background jobs performed over a batch of phone numbers"
    },
    {
      "name": "Bulk Small Business",
      "description": "Endpoints for creating and checking the status of campaigns, brands, and phone numbers"
    },
    {
      "name": "Bundle Pricing",
      "description": "Bundle Pricing operations"
    },
    {
      "name": "CDR Reports",
      "description": "Voice batch detail records"
    },
    {
      "name": "CDR Usage Reports",
      "description": "Voice usage reports"
    },
    {
      "name": "Call Commands",
      "description": "Call Control command operations"
    },
    {
      "name": "Call Control Applications",
      "description": "Call Control applications operations"
    },
    {
      "name": "Call Information",
      "description": "Call information"
    },
    {
      "name": "Call Recordings",
      "description": "Call Recordings operations."
    },
    {
      "name": "Callbacks",
      "description": "Callbacks"
    },
    {
      "name": "Campaign",
      "description": "Campaign operations"
    },
    {
      "name": "Chat",
      "description": "Generate text with LLMs"
    },
    {
      "name": "Clusters",
      "description": "Identify common themes and patterns in your embedded documents"
    },
    {
      "name": "Conference Commands",
      "description": "Conference command operations"
    },
    {
      "name": "Connections",
      "description": "Connections operations"
    },
    {
      "name": "Conversations",
      "description": "Manage historical AI assistant conversations"
    },
    {
      "name": "Country Coverage",
      "description": "Country Coverage"
    },
    {
      "name": "Credential Connections",
      "description": "Credential connection operations"
    },
    {
      "name": "Credentials",
      "description": "Credentials operations"
    },
    {
      "name": "Customer Service Record",
      "description": "Customer Service Record operations"
    },
    {
      "name": "Data Migration",
      "description": "Migrate data from an external provider into Telnyx Cloud Storage"
    },
    {
      "name": "Debugging",
      "description": "Call Control debugging"
    },
    {
      "name": "Detail Records",
      "description": "Detail Records operations"
    },
    {
      "name": "Dialogflow Integration",
      "description": "Dialogflow Connection Operations."
    },
    {
      "name": "Documents",
      "description": "Documents"
    },
    {
      "name": "Dynamic Emergency Addresses",
      "description": "Dynamic emergency address operations"
    },
    {
      "name": "Dynamic Emergency Endpoints",
      "description": "Dynamic Emergency Endpoints"
    },
    {
      "name": "Embeddings",
      "description": "Embed documents and perform text searches"
    },
    {
      "name": "Enterprises",
      "description": "Enterprise management for Branded Calling and Number Reputation services"
    },
    {
      "name": "External Connections",
      "description": "External Connections operations"
    },
    {
      "name": "FQDN Connections",
      "description": "FQDN connection operations"
    },
    {
      "name": "FQDNs",
      "description": "FQDN operations"
    },
    {
      "name": "File-based Text-to-Speech",
      "description": "Turn audio into text or text into audio."
    },
    {
      "name": "Fine Tuning",
      "description": "Customize LLMs for your unique needs"
    },
    {
      "name": "Global IPs",
      "description": "Global IPs"
    },
    {
      "name": "Hosted Numbers",
      "description": "Manage your messaging hosted numbers"
    },
    {
      "name": "IP Addresses",
      "description": "IP Address Operations"
    },
    {
      "name": "IP Connections",
      "description": "IP connection operations"
    },
    {
      "name": "IP Ranges",
      "description": "IP Range Operations"
    },
    {
      "name": "IPs",
      "description": "IP operations"
    },
    {
      "name": "Inexplicit Number Orders",
      "description": "Inexplicit number orders for bulk purchasing without specifying exact numbers"
    },
    {
      "name": "Integration Secrets",
      "description": "Store and retrieve integration secrets"
    },
    {
      "name": "Inventory Level",
      "description": "Inventory Level"
    },
    {
      "name": "Invoice",
      "description": "Invoice operations"
    },
    {
      "name": "MDR Detailed Reports",
      "description": "Messaging batch detail records"
    },
    {
      "name": "MDR Usage Reports",
      "description": "Messaging usage reports"
    },
    {
      "name": "Managed Accounts",
      "description": "Managed Accounts operations"
    },
    {
      "name": "Media Storage API",
      "description": "Media Storage operations"
    },
    {
      "name": "Messages",
      "description": "Messages"
    },
    {
      "name": "Messaging URL Domains",
      "description": "Messaging URL Domains"
    },
    {
      "name": "Mobile Network Operators",
      "description": "Mobile network operators operations"
    },
    {
      "name": "Mobile Phone Numbers",
      "description": "Mobile phone number operations"
    },
    {
      "name": "Mobile Voice Connections",
      "description": "Mobile voice connection operations"
    },
    {
      "name": "Monthly Charges",
      "description": "Monthly Charges Report"
    },
    {
      "name": "Networks",
      "description": "Network operations"
    },
    {
      "name": "Notifications",
      "description": "Notification settings operations"
    },
    {
      "name": "Number Lookup",
      "description": "Look up phone number data"
    },
    {
      "name": "Number Portout",
      "description": "Number portout operations"
    },
    {
      "name": "Number Reputation Settings",
      "description": "Manage Number Reputation enrollment and check frequency settings for an enterprise"
    },
    {
      "name": "Number Settings",
      "description": "Configure your phone numbers"
    },
    {
      "name": "OTA updates",
      "description": "OTA updates operations"
    },
    {
      "name": "OpenAI Embeddings",
      "description": "OpenAI-compatible embeddings endpoints for generating vector representations of text"
    },
    {
      "name": "Opt-Out Management",
      "description": "Opt-Out Management"
    },
    {
      "name": "Organization Users",
      "description": "Operations related to users in your organization"
    },
    {
      "name": "Outbound Voice Profiles",
      "description": "Outbound voice profiles operations"
    },
    {
      "name": "Phone Number Blocks Background Jobs",
      "description": "Background jobs performed over a phone-numbers block's phone numbers"
    },
    {
      "name": "Phone Number Campaigns",
      "description": "Phone number campaign assignment"
    },
    {
      "name": "Phone Number Configurations",
      "description": "Configure your phone numbers"
    },
    {
      "name": "Phone Number Order Documents",
      "description": "Number order documents"
    },
    {
      "name": "Phone Number Orders",
      "description": "Number orders"
    },
    {
      "name": "Phone Number Porting",
      "description": "Determining portability of phone numbers"
    },
    {
      "name": "Phone Number Reservations",
      "description": "Number reservations"
    },
    {
      "name": "Phone Number Search",
      "description": "Number search"
    },
    {
      "name": "Porting Orders",
      "description": "Endpoints related to porting orders management."
    },
    {
      "name": "Presigned Object URLs",
      "description": "Presigned object URL operations"
    },
    {
      "name": "Private Wireless Gateways",
      "description": "Private Wireless Gateways operations"
    },
    {
      "name": "Profiles",
      "description": "Messaging profiles"
    },
    {
      "name": "Programmable Fax Applications",
      "description": "Fax Applications operations"
    },
    {
      "name": "Programmable Fax Commands",
      "description": "Programmable fax command operations"
    },
    {
      "name": "Pronunciation Dictionaries",
      "description": "Manage pronunciation dictionaries for text-to-speech synthesis. Dictionaries contain alias items (text replacement) and phoneme items (IPA pronunciation notation) that control how specific words are spoken."
    },
    {
      "name": "Public Internet Gateways",
      "description": "Public Internet Gateway operations"
    },
    {
      "name": "Push Credentials",
      "description": "Mobile push credential management"
    },
    {
      "name": "Queue Commands",
      "description": "Queue commands operations"
    },
    {
      "name": "RCS",
      "description": "Send RCS messages"
    },
    {
      "name": "Regions",
      "description": "Regions"
    },
    {
      "name": "Regulatory Requirements",
      "description": "Regulatory Requirements"
    },
    {
      "name": "Reporting",
      "description": "Wireless reporting operations"
    },
    {
      "name": "Reports",
      "description": "Ledger billing reports"
    },
    {
      "name": "Reputation Phone Numbers",
      "description": "Associate phone numbers with an enterprise for reputation monitoring and retrieve reputation scores"
    },
    {
      "name": "Requirement Groups",
      "description": "Requirement Groups"
    },
    {
      "name": "Requirement Types",
      "description": "Types of requirements for international numbers and porting orders"
    },
    {
      "name": "Requirements",
      "description": "Requirements for international numbers and porting orders"
    },
    {
      "name": "Room Compositions",
      "description": "Rooms Compositions operations."
    },
    {
      "name": "Room Participants",
      "description": "Rooms Participants operations."
    },
    {
      "name": "Room Recordings",
      "description": "Rooms Recordings operations."
    },
    {
      "name": "Room Sessions",
      "description": "Rooms Sessions operations."
    },
    {
      "name": "Rooms",
      "description": "Rooms operations."
    },
    {
      "name": "Rooms Client Tokens",
      "description": "Rooms Client Tokens operations."
    },
    {
      "name": "SETI Observability",
      "description": "Observability into Telnyx platform stability and performance."
    },
    {
      "name": "SIM Card Actions",
      "description": "View SIM card actions, their progress and timestamps using the SIM Card Actions API"
    },
    {
      "name": "SIM Card Group Actions",
      "description": "SIM Card Group actions operations"
    },
    {
      "name": "SIM Card Groups",
      "description": "SIM Card Groups operations"
    },
    {
      "name": "SIM Card Orders",
      "description": "SIM Card Orders operations"
    },
    {
      "name": "SIM Cards",
      "description": "SIM Cards operations"
    },
    {
      "name": "SIPREC Connectors",
      "description": "SIPREC connectors configuration."
    },
    {
      "name": "Session Analysis",
      "description": "Analyze voice AI sessions, costs, and event hierarchies across Telnyx products."
    },
    {
      "name": "Short Codes",
      "description": "Short codes"
    },
    {
      "name": "Speech To Text over WebSockets",
      "description": "Speech to text command operations"
    },
    {
      "name": "Speech to Text Batch Reports",
      "description": "Speech to text batch detail records"
    },
    {
      "name": "Speech to text Usage Reports",
      "description": "Speech to text usage reports"
    },
    {
      "name": "Stored Payment Transactions",
      "description": "Operations for managing stored payment transactions."
    },
    {
      "name": "TeXML Applications",
      "description": "TeXML Applications operations"
    },
    {
      "name": "TeXML REST Commands",
      "description": "TeXML REST Commands"
    },
    {
      "name": "Telco Data Usage Reports",
      "description": "Number lookup usage reports"
    },
    {
      "name": "Terms of Service",
      "description": "Terms of Service agreement endpoints"
    },
    {
      "name": "Text To Speech Commands",
      "description": "Text to speech streaming command operations"
    },
    {
      "name": "Text to Speech Commands",
      "description": "Text to Speech commands operations"
    },
    {
      "name": "Traffic Policy Profiles",
      "description": "Traffic Policy Profiles operations"
    },
    {
      "name": "UAC Connections",
      "description": "UAC connection operations"
    },
    {
      "name": "Usage Reports (BETA)",
      "description": "Usage data reporting across Telnyx products"
    },
    {
      "name": "User Tags",
      "description": "User-defined tags for Telnyx resources"
    },
    {
      "name": "UserAddresses",
      "description": "Operations for working with UserAddress records. UserAddress records are stored addresses that users can use for non-emergency-calling purposes, such as for shipping addresses for orders of wireless SIMs (or other physical items). They cannot be used for emergency calling and are distinct from Address records, which are used on phone numbers."
    },
    {
      "name": "Verification Requests",
      "description": "Manage your tollfree verification requests"
    },
    {
      "name": "Verified Numbers",
      "description": "Verified Numbers operations"
    },
    {
      "name": "Verify",
      "description": "Two factor authentication API"
    },
    {
      "name": "Virtual Cross Connects",
      "description": "Virtual Cross Connect operations"
    },
    {
      "name": "Voice Channels",
      "description": "Voice Channels"
    },
    {
      "name": "Voice Clones",
      "description": "Capture and manage voice identities as clones for use in text-to-speech synthesis."
    },
    {
      "name": "Voice Designs",
      "description": "Create and manage AI-generated voice designs using natural language prompts."
    },
    {
      "name": "Voicemail",
      "description": "Voicemail API"
    },
    {
      "name": "Webhooks",
      "description": "Webhooks operations"
    },
    {
      "name": "Whatsapp Business Accounts",
      "description": "Manage Whatsapp business accounts"
    },
    {
      "name": "Whatsapp Message Templates",
      "description": "Manage Whatsapp message templates"
    },
    {
      "name": "Whatsapp Phone Numbers",
      "description": "Manage Whatsapp phone numbers"
    },
    {
      "name": "Whatsapp messaging",
      "description": "Send Whatsapp messages"
    },
    {
      "name": "WireGuard Interfaces",
      "description": "WireGuard Interface operations"
    },
    {
      "name": "Wireless",
      "description": "Wireless operations"
    },
    {
      "name": "Wireless Blocklists",
      "description": "Wireless Blocklists operations"
    },
    {
      "name": "Wireless Regions",
      "description": "Regions for wireless services"
    },
    {
      "name": "x402 Payment Transactions",
      "description": "Operations for x402 cryptocurrency payment transactions. Fund your Telnyx account using USDC stablecoin payments via the x402 protocol."
    }
  ],
  "paths": {
    "/.well-known/oauth-authorization-server": {
      "get": {
        "operationId": "GetOAuthAuthorizationServerMetadata",
        "tags": [
          "OAuth Discovery"
        ],
        "summary": "Authorization server metadata",
        "description": "OAuth 2.0 Authorization Server Metadata (RFC 8414)",
        "security": [],
        "responses": {
          "200": {
            "description": "Authorization server metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationServerMetadata"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "servers": [
        {
          "url": "https://api.telnyx.com"
        }
      ]
    },
    "/.well-known/oauth-protected-resource": {
      "get": {
        "operationId": "GetOAuthProtectedResourceMetadata",
        "tags": [
          "OAuth Discovery"
        ],
        "summary": "Protected resource metadata",
        "description": "OAuth 2.0 Protected Resource Metadata for resource discovery",
        "security": [],
        "responses": {
          "200": {
            "description": "Protected resource metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceMetadata"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "servers": [
        {
          "url": "https://api.telnyx.com"
        }
      ]
    },
    "/10dlc/brand": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "List Brands",
        "operationId": "GetBrands",
        "parameters": [
          {
            "required": false,
            "schema": {
              "title": "Page",
              "minimum": 1,
              "type": "integer",
              "default": 1
            },
            "name": "page",
            "in": "query"
          },
          {
            "description": "number of records per page. maximum of 500",
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "type": "integer",
              "description": "number of records per page. maximum of 500",
              "default": 10
            },
            "name": "recordsPerPage",
            "in": "query"
          },
          {
            "name": "sort",
            "required": false,
            "schema": {
              "title": "Sort",
              "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
              "type": "string",
              "enum": [
                "assignedCampaignsCount",
                "-assignedCampaignsCount",
                "brandId",
                "-brandId",
                "createdAt",
                "-createdAt",
                "displayName",
                "-displayName",
                "identityStatus",
                "-identityStatus",
                "status",
                "-status",
                "tcrBrandId",
                "-tcrBrandId"
              ],
              "default": "-createdAt"
            },
            "description": "Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.",
            "example": "-identityStatus",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Displayname",
              "type": "string"
            },
            "name": "displayName",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Entitytype",
              "type": "string"
            },
            "name": "entityType",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "State",
              "type": "string"
            },
            "name": "state",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Country",
              "type": "string"
            },
            "name": "country",
            "in": "query"
          },
          {
            "name": "brandId",
            "schema": {
              "title": "BrandId",
              "type": "string",
              "example": "826ef77a-348c-445b-81a5-a9b13c68fbfe"
            },
            "in": "query",
            "description": "Filter results by the Telnyx Brand id",
            "required": false
          },
          {
            "name": "tcrBrandId",
            "schema": {
              "title": "TCRBrandId",
              "type": "string",
              "example": "BBAND1"
            },
            "in": "query",
            "description": "Filter results by the TCR Brand id",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandRecordSetCSP"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "This endpoint is used to list all brands associated with your organization.",
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Brands"
        ],
        "summary": "Create Brand",
        "operationId": "CreateBrandPost",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxBrand"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "This endpoint is used to create a new brand. A brand is an entity created by The Campaign Registry (TCR) that represents an organization or a company. It is this entity that TCR created campaigns will be associated with. Each brand creation will entail an upfront, non-refundable $4 expense.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/feedback/{brandId}": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get Brand Feedback By Id",
        "description": "Get feedback about a brand by ID. This endpoint can be used after creating or revetting\na brand.\n\nPossible values for `.category[].id`:\n\n* `TAX_ID` - Data mismatch related to tax id and its associated properties.\n* `STOCK_SYMBOL` - Non public entity registered as a public for profit entity or\n  the stock information mismatch.\n* `GOVERNMENT_ENTITY` - Non government entity registered as a government entity.\n  Must be a U.S. government entity.\n* `NONPROFIT` - Not a recognized non-profit entity. No IRS tax-exempt status\n  found.\n* `OTHERS` - Details of the data misrepresentation if any.",
        "operationId": "GetBrandFeedbackById",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandFeedback"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/smsOtp/{referenceId}": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get Brand SMS OTP Status",
        "description": "Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification.\n\nThis endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process. You can query by either:\n\n* `referenceId` - The reference ID returned when the OTP was initially triggered\n* `brandId` - Query parameter for portal users to look up OTP status by Brand ID\n\nThe response includes delivery status, verification dates, and detailed delivery information.",
        "operationId": "GetBrandSmsOtpStatus",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Referenceid",
              "type": "string",
              "example": "OTP4B2001"
            },
            "name": "referenceId",
            "in": "path",
            "description": "The reference ID returned when the OTP was initially triggered"
          },
          {
            "required": false,
            "schema": {
              "title": "Brandid",
              "type": "string",
              "example": "B123ABC"
            },
            "name": "brandId",
            "in": "query",
            "description": "Filter by Brand ID for easier lookup in portal applications"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandSmsOtpStatus"
                }
              }
            }
          },
          "404": {
            "description": "OTP reference not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/{brandId}": {
      "delete": {
        "tags": [
          "Brands"
        ],
        "summary": "Delete Brand",
        "description": "Delete Brand. This endpoint is used to delete a brand. Note the brand cannot be deleted if it contains one or more active campaigns, the campaigns need to be inactive and at least 3 months old due to billing purposes.",
        "operationId": "DeleteBrand",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Brand removed successfully"
          },
          "400": {
            "description": "Brand cannot be deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "404": {
            "description": "Brand not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get Brand",
        "operationId": "GetBrand",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxBrandWithCampaignsCount"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve a brand by `brandId`.",
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Brands"
        ],
        "summary": "Update Brand",
        "operationId": "UpdateBrand",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBrand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxBrand"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Update a brand's attributes by `brandId`.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/{brandId}/2faEmail": {
      "post": {
        "tags": [
          "Brands"
        ],
        "summary": "Resend brand 2FA email",
        "operationId": "ResendBrand2faEmail",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/{brandId}/externalVetting": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "List External Vettings",
        "description": "Get list of valid external vetting record for a given brand",
        "operationId": "ListExternalVettings",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalVettingList"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Brands"
        ],
        "summary": "Order Brand External Vetting",
        "description": "Order new external vetting for a brand.\n\nDuplicate orders for the same `evpId` and `vettingClass` return `400` with code `10012` if a successful vetting exists within the last 180 days, or one is currently being processed. Failed vettings can be retried immediately.",
        "operationId": "PostOrderExternalVetting",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderExternalVetting"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalVetting"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Brands"
        ],
        "summary": "Import External Vetting Record",
        "description": "This operation can be used to import an external vetting record from a TCR-approved\nvetting provider. If the vetting provider confirms validity of the record, it will be\nsaved with the brand and will be considered for future campaign qualification.",
        "operationId": "PutExternalVettingRecord",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportExternalVetting"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalVetting"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/{brandId}/revet": {
      "put": {
        "tags": [
          "Brands"
        ],
        "summary": "Revet Brand",
        "operationId": "RevetBrand",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxBrand"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "This operation allows you to revet the brand. However, revetting is allowed once after the successful brand registration and thereafter limited to once every 3 months.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/brand/{brandId}/smsOtp": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get Brand SMS OTP Status by Brand ID",
        "description": "Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification using the Brand ID.\n\nThis endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process by looking it up with the brand ID.\n\nThe response includes delivery status, verification dates, and detailed delivery information.\n\n**Note:** This is an alternative to the `/10dlc/brand/smsOtp/{referenceId}` endpoint when you have the Brand ID but not the reference ID.",
        "operationId": "GetBrandSmsOtpStatusByBrandId",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string",
              "example": "4b20019b-043a-78f8-0657-b3be3f4b4002"
            },
            "name": "brandId",
            "in": "path",
            "description": "The Brand ID for which to query OTP status"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandSmsOtpStatus"
                }
              }
            }
          },
          "404": {
            "description": "OTP status not found for this brand",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Brands"
        ],
        "summary": "Trigger Brand SMS OTP",
        "description": "Trigger or re-trigger an SMS OTP (One-Time Password) for Sole Proprietor brand verification.\n\n**Important Notes:**\n\n* Only allowed for Sole Proprietor (`SOLE_PROPRIETOR`) brands\n* Triggers generation of a one-time password sent to the `mobilePhone` number in the brand's profile\n* Campaigns cannot be created until OTP verification is complete\n* US/CA numbers only for real OTPs; mock brands can use non-US/CA numbers for testing\n* Returns a `referenceId` that can be used to check OTP status via the GET `/10dlc/brand/smsOtp/{referenceId}` endpoint\n\n**Use Cases:**\n\n* Initial OTP trigger after Sole Proprietor brand creation\n* Re-triggering OTP if the user didn't receive or needs a new code",
        "operationId": "TriggerBrandSmsOtp",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string",
              "example": "4b20019b-043a-78f8-0657-b3be3f4b4002"
            },
            "name": "brandId",
            "in": "path",
            "description": "The Brand ID for which to trigger the OTP"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerBrandSmsOtpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriggerBrandSmsOtpResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Brand is not a Sole Proprietor or invalid mobile phone number",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Brands"
        ],
        "summary": "Verify Brand SMS OTP",
        "description": "Verify the SMS OTP (One-Time Password) for Sole Proprietor brand verification.\n\n**Verification Flow:**\n\n1. User receives OTP via SMS after triggering\n2. User submits the OTP pin through this endpoint\n3. Upon successful verification:\n   - A `BRAND_OTP_VERIFIED` webhook event is sent to the CSP\n   - The brand's `identityStatus` changes to `VERIFIED`\n   - Campaigns can now be created for this brand\n\n**Error Handling:**\n\nProvides proper error responses for:\n* Invalid OTP pins\n* Expired OTPs\n* OTP verification failures",
        "operationId": "VerifyBrandSmsOtp",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string",
              "example": "4b20019b-043a-78f8-0657-b3be3f4b4002"
            },
            "name": "brandId",
            "in": "path",
            "description": "The Brand ID for which to verify the OTP"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyBrandSmsOtpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OTP verified successfully - No content returned"
          },
          "400": {
            "description": "Bad Request - Invalid or expired OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "List Campaigns",
        "operationId": "GetCampaigns",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "query"
          },
          {
            "description": "The 1-indexed page number to get. The default value is `1`.",
            "required": false,
            "schema": {
              "title": "Page",
              "type": "integer",
              "description": "The 1-indexed page number to get. The default value is `1`.",
              "default": 1
            },
            "name": "page",
            "in": "query"
          },
          {
            "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "type": "integer",
              "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
              "default": 10
            },
            "name": "recordsPerPage",
            "in": "query"
          },
          {
            "name": "sort",
            "required": false,
            "schema": {
              "title": "Sort",
              "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
              "type": "string",
              "enum": [
                "assignedPhoneNumbersCount",
                "-assignedPhoneNumbersCount",
                "campaignId",
                "-campaignId",
                "createdAt",
                "-createdAt",
                "status",
                "-status",
                "tcrCampaignId",
                "-tcrCampaignId"
              ],
              "default": "-createdAt"
            },
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.",
            "example": "-assignedPhoneNumbersCount"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignRecordSet_CSP"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve a list of campaigns associated with a supplied `brandId`.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/acceptSharing/{campaignId}": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Accept Shared Campaign",
        "description": "Manually accept a campaign shared with Telnyx",
        "operationId": "AcceptCampaign",
        "parameters": [
          {
            "description": "TCR's ID for the campaign to import",
            "required": true,
            "schema": {
              "title": "Campaignid",
              "pattern": "^C[A-Z0-9]{5,8}$",
              "type": "string",
              "description": "TCR's ID for the campaign to import"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "example": {}
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/usecase/cost": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get Campaign Cost",
        "operationId": "GetCampaignCost",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Usecase",
              "type": "string"
            },
            "name": "usecase",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignCost"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}": {
      "delete": {
        "tags": [
          "Campaign"
        ],
        "summary": "Deactivate campaign",
        "description": "Terminate a campaign. Note that once deactivated, a campaign cannot be restored.",
        "operationId": "DeactivateCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignDeletionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get campaign",
        "operationId": "GetCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxCampaign_CSP"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve campaign details by `campaignId`.",
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Campaign"
        ],
        "summary": "Update campaign",
        "operationId": "UpdateCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxCampaign_CSP"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Update a campaign's properties by `campaignId`. **Please note:** only sample messages are editable.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}/appeal": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Submit campaign appeal for manual review",
        "description": "Submits an appeal for rejected native campaigns in TELNYX_FAILED or MNO_REJECTED status. The appeal is recorded for manual compliance team review and the campaign status is reset to TCR_ACCEPTED. Note: Appeal forwarding is handled manually to allow proper review before incurring upstream charges.",
        "operationId": "AppealCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "description": "The Telnyx campaign identifier",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "5eb13888-32b7-4cab-95e6-d834dde21d64"
            }
          }
        ],
        "requestBody": {
          "description": "Appeal request payload",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "appeal_reason"
                ],
                "properties": {
                  "appeal_reason": {
                    "type": "string",
                    "description": "Detailed explanation of why the campaign should be reconsidered and what changes have been made to address the rejection reason.",
                    "example": "The website has been updated to include the required privacy policy and terms of service."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Appeal recorded successfully. Campaign status updated to TCR_ACCEPTED for manual compliance review.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "appealed_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the appeal was submitted"
                    }
                  }
                },
                "example": {
                  "appealed_at": "2025-08-06T15:30:45.123456+00:00"
                }
              }
            }
          },
          "400": {
            "description": "Campaign not in appealable status or invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "404": {
            "description": "Campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}/mnoMetadata": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get Campaign Mno Metadata",
        "description": "Get the campaign metadata for each MNO it was submitted to.",
        "operationId": "GetCampaignMnoMetadata",
        "parameters": [
          {
            "description": "ID of the campaign in question",
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string",
              "description": "ID of the campaign in question"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response. It constains a map of usecase metadata for each MNO. The key is the network ID of the MNO (e.g. 10017), the value is the mno metadata for the usecase. The metadata may also include some MNO specific fields.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MnoMetadata"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          },
          "5XX": {
            "description": "Unexpected Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}/operationStatus": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get campaign operation status",
        "operationId": "GetCampaignOperationStatus",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "example": {
                    "10017": "APPROVED",
                    "10035": "REVIEW"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve campaign's operation status at MNO level.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}/osr/attributes": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get OSR campaign attributes",
        "operationId": "GetCampaignOsrAttributes",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "example": {
                    "msg_class": "E",
                    "status": "7",
                    "brandId": "00000000-0000-0000-0000-000000000000"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaign/{campaignId}/sharing": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get Sharing Status",
        "operationId": "GetCampaignSharingStatus",
        "parameters": [
          {
            "description": "ID of the campaign in question",
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string",
              "description": "ID of the campaign in question"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignSharingChain"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaignBuilder": {
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Submit Campaign",
        "operationId": "PostCampaign",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxCampaign_CSP"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient Funds",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Before creating a campaign, use the [Qualify By Usecase endpoint](https://developers.telnyx.com/api-reference/campaign/qualify-by-usecase) to ensure that the brand you want to assign a new campaign to is qualified for the desired use case of that campaign. **Please note:** After campaign creation, you'll only be able to edit the campaign's sample messages. Creating a campaign will entail an upfront, non-refundable three month's cost that will depend on the campaign's use case ([see 10DLC Costs section for details](https://developers.telnyx.com/api-reference/campaign/get-campaign-cost)).",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Qualify By Usecase",
        "operationId": "GetUsecaseQualification",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Usecase",
              "type": "string"
            },
            "name": "usecase",
            "in": "path"
          },
          {
            "required": true,
            "schema": {
              "title": "Brandid",
              "type": "string"
            },
            "name": "brandId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsecaseMetadata"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "This endpoint allows you to see whether or not the supplied brand is suitable for your desired campaign use case.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/enum/{endpoint}": {
      "get": {
        "tags": [
          "Enum"
        ],
        "summary": "Get Enum",
        "operationId": "GetEnumEndpoint",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Endpoint",
              "type": "string",
              "enum": [
                "mno",
                "optionalAttributes",
                "usecase",
                "vertical",
                "altBusinessIdType",
                "brandIdentityStatus",
                "brandRelationship",
                "campaignStatus",
                "entityType",
                "extVettingProvider",
                "vettingStatus",
                "brandStatus",
                "operationStatus",
                "approvedPublicCompany",
                "stockExchange",
                "vettingClass"
              ]
            },
            "name": "endpoint",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EnumStringListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/EnumObjectListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/EnumObjectToStringResponse"
                    },
                    {
                      "$ref": "#/components/schemas/EnumObjecToObjecttResponse"
                    },
                    {
                      "$ref": "#/components/schemas/EnumPaginatedResponse"
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/10dlc_Errors"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/partnerCampaign/sharedByMe": {
      "get": {
        "tags": [
          "Shared Campaigns"
        ],
        "summary": "List shared partner campaigns",
        "description": "Get all partner campaigns you have shared to Telnyx in a paginated fashion\n\nThis endpoint is currently limited to only returning shared campaigns that Telnyx\nhas accepted. In other words, shared but pending campaigns are currently omitted\nfrom the response from this endpoint.",
        "operationId": "GetPartnerCampaignsSharedByUser",
        "parameters": [
          {
            "description": "The 1-indexed page number to get. The default value is `1`.",
            "required": false,
            "schema": {
              "title": "Page",
              "type": "integer",
              "description": "The 1-indexed page number to get. The default value is `1`.",
              "default": 1
            },
            "name": "page",
            "in": "query"
          },
          {
            "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "type": "integer",
              "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
              "default": 10
            },
            "name": "recordsPerPage",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SharedCampaignRecordSet"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/partnerCampaign/{campaignId}/sharing": {
      "get": {
        "tags": [
          "Shared Campaigns"
        ],
        "summary": "Get Sharing Status",
        "operationId": "GetPartnerCampaignSharingStatus",
        "parameters": [
          {
            "description": "ID of the campaign in question",
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string",
              "description": "ID of the campaign in question"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Response Get Sharing Status Public Partnercampaign  Campaignid  Sharing Get",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/CampaignSharingStatus"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/partner_campaigns": {
      "get": {
        "tags": [
          "Shared Campaigns"
        ],
        "summary": "List Shared Campaigns",
        "operationId": "GetSharedCampaigns",
        "parameters": [
          {
            "description": "The 1-indexed page number to get. The default value is `1`.",
            "required": false,
            "schema": {
              "title": "Page",
              "type": "integer",
              "description": "The 1-indexed page number to get. The default value is `1`.",
              "default": 1
            },
            "name": "page",
            "in": "query"
          },
          {
            "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "type": "integer",
              "description": "The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.",
              "default": 10
            },
            "name": "recordsPerPage",
            "in": "query"
          },
          {
            "name": "sort",
            "required": false,
            "schema": {
              "title": "Sort",
              "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
              "type": "string",
              "enum": [
                "assignedPhoneNumbersCount",
                "-assignedPhoneNumbersCount",
                "brandDisplayName",
                "-brandDisplayName",
                "tcrBrandId",
                "-tcrBrandId",
                "tcrCampaignId",
                "-tcrCampaignId",
                "createdAt",
                "-createdAt",
                "campaignStatus",
                "-campaignStatus"
              ],
              "default": "-createdAt"
            },
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.",
            "example": "-assignedPhoneNumbersCount"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxDownstreamCampaignRecordSet"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve all partner campaigns you have shared to Telnyx in a paginated fashion.\n\nThis endpoint is currently limited to only returning shared campaigns that Telnyx has accepted. In other words, shared but pending campaigns are currently omitted from the response from this endpoint.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/partner_campaigns/{campaignId}": {
      "get": {
        "tags": [
          "Shared Campaigns"
        ],
        "summary": "Get Single Shared Campaign",
        "operationId": "GetSharedCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxDownstreamCampaign"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve campaign details by `campaignId`.",
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Shared Campaigns"
        ],
        "summary": "Update Single Shared Campaign",
        "operationId": "UpdateSharedCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Campaignid",
              "type": "string"
            },
            "name": "campaignId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxDownstreamCampaign"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Update campaign details by `campaignId`. **Please note:** Only webhook urls are editable.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/phoneNumberAssignmentByProfile": {
      "post": {
        "tags": [
          "Bulk Phone Number Campaigns"
        ],
        "summary": "Assign Messaging Profile To Campaign",
        "operationId": "PostAssignMessagingProfileToCampaign",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignProfileToCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignProfileToCampaignResponse"
                }
              }
            }
          },
          "500": {
            "description": "Error searching for phone numbers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsDataErrorMessage"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "This endpoint allows you to link all phone numbers associated with a Messaging Profile to a campaign. **Please note:** if you want to assign phone numbers to a campaign that you did not create with Telnyx 10DLC services, this endpoint allows that provided that you've shared the campaign with Telnyx. In this case, only provide the parameter, `tcrCampaignId`, and not `campaignId`. In all other cases (where the campaign you're assigning was created with Telnyx 10DLC services), only provide `campaignId`, not `tcrCampaignId`.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/phoneNumberAssignmentByProfile/{taskId}": {
      "get": {
        "tags": [
          "Bulk Phone Number Campaigns"
        ],
        "summary": "Get Assignment Task Status",
        "operationId": "GetAssignmentTaskStatus",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Taskid",
              "type": "string"
            },
            "name": "taskId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentTaskStatusResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Check the status of the task associated with assigning all phone numbers on a messaging profile to a campaign by `taskId`.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/phoneNumberAssignmentByProfile/{taskId}/phoneNumbers": {
      "get": {
        "tags": [
          "Bulk Phone Number Campaigns"
        ],
        "summary": "Get Phone Number Status",
        "operationId": "GetPhoneNumberStatus",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Taskid",
              "type": "string"
            },
            "name": "taskId",
            "in": "path"
          },
          {
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "default": 20,
              "type": "integer"
            },
            "name": "recordsPerPage",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Page",
              "default": 1,
              "type": "integer"
            },
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumberStatusResponsePaginated"
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Check the status of the individual phone number/campaign assignments associated with the supplied `taskId`.",
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/phone_number_campaigns": {
      "get": {
        "tags": [
          "Phone Number Campaigns"
        ],
        "summary": "List phone number campaigns",
        "operationId": "GetAllPhoneNumberCampaigns",
        "parameters": [
          {
            "required": false,
            "schema": {
              "title": "Recordsperpage",
              "default": 20,
              "type": "integer"
            },
            "name": "recordsPerPage",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Page",
              "default": 1,
              "type": "integer"
            },
            "name": "page",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/10dlc_FilterConsolidated"
          },
          {
            "name": "sort",
            "required": false,
            "schema": {
              "title": "Sort",
              "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
              "type": "string",
              "enum": [
                "assignmentStatus",
                "-assignmentStatus",
                "createdAt",
                "-createdAt",
                "phoneNumber",
                "-phoneNumber"
              ],
              "default": "-createdAt"
            },
            "description": "Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.",
            "example": "-phoneNumber",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumberCampaignPaginated"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Phone Number Campaigns"
        ],
        "summary": "Create New Phone Number Campaign",
        "operationId": "CreatePhoneNumberCampaign",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberCampaignCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumberCampaign"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/10dlc/phone_number_campaigns/{phoneNumber}": {
      "delete": {
        "tags": [
          "Phone Number Campaigns"
        ],
        "summary": "Delete Phone Number Campaign",
        "description": "This endpoint allows you to remove a campaign assignment from the supplied `phoneNumber`.",
        "operationId": "DeletePhoneNumberCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Phonenumber",
              "type": "string"
            },
            "name": "phoneNumber",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SinglePhoneNumberCampaign"
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Phone Number Campaigns"
        ],
        "summary": "Get Single Phone Number Campaign",
        "operationId": "GetSinglePhoneNumberCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Phonenumber",
              "type": "string"
            },
            "name": "phoneNumber",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumberCampaign"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "description": "Retrieve an individual phone number/campaign assignment by `phoneNumber`.",
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Phone Number Campaigns"
        ],
        "summary": "Create New Phone Number Campaign",
        "operationId": "PutPhoneNumberCampaign",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Phonenumber",
              "type": "string"
            },
            "name": "phoneNumber",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberCampaignCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumberCampaign"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/10dlc_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/access_ip_address": {
      "get": {
        "summary": "List all Access IP Addresses",
        "operationId": "ListAccessIpAddresses",
        "tags": [
          "IP Addresses"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[ip_source], filter[ip_address], filter[created_at]. Supports complex bracket operations for dynamic filtering.",
            "schema": {
              "type": "object",
              "properties": {
                "ip_source": {
                  "type": "string",
                  "description": "Filter by IP source"
                },
                "ip_address": {
                  "type": "string",
                  "description": "Filter by IP address"
                },
                "created_at": {
                  "oneOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "description": "Filter by exact creation date-time"
                    },
                    {
                      "type": "object",
                      "title": "DateRangeFilter",
                      "properties": {
                        "gt": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time greater than"
                        },
                        "lt": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time less than"
                        },
                        "gte": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time greater than or equal to"
                        },
                        "lte": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time less than or equal to"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Date range filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": true
            },
            "examples": {
              "filter[ip_source]=cloudflare": {
                "value": {
                  "ip_source": "cloudflare"
                },
                "summary": "Filter access IP addresses by source 'cloudflare'"
              },
              "filter[ip_address]=192.168.1.1": {
                "value": {
                  "ip_address": "192.168.1.1"
                },
                "summary": "Filter by specific IP address"
              },
              "filter[created_at][gt]=2023-01-01T00:00:00Z": {
                "value": {
                  "created_at": {
                    "gt": "2023-01-01T00:00:00Z"
                  }
                },
                "summary": "Filter IP addresses created after the specified date-time"
              },
              "filter[created_at][lt]=2023-12-31T23:59:59Z": {
                "value": {
                  "created_at": {
                    "lt": "2023-12-31T23:59:59Z"
                  }
                },
                "summary": "Filter IP addresses created before the specified date-time"
              },
              "Complex filtering example": {
                "value": {
                  "ip_source": "cloudflare",
                  "created_at": {
                    "gt": "2023-01-01T00:00:00Z",
                    "lt": "2023-12-31T23:59:59Z"
                  }
                },
                "summary": "Combine multiple filters: cloudflare source IPs created within 2023"
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "default": 1
                },
                "size": {
                  "maximum": 250,
                  "type": "integer",
                  "default": 20
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "Default pagination with first page and 20 records per page"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Second page with 20 records per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "First page with 50 records per page"
              },
              "page[number]=5&page[size]=100": {
                "value": {
                  "number": 5,
                  "size": 100
                },
                "summary": "Fifth page with 100 records per page"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPAddressListResponseSchema"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create new Access IP Address",
        "operationId": "CreateAccessIpAddress",
        "tags": [
          "IP Addresses"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccessIPAddressPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPAddressResponseSchema"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/access_ip_address/{access_ip_address_id}": {
      "delete": {
        "summary": "Delete access IP address",
        "operationId": "DeleteAccessIpAddress",
        "tags": [
          "IP Addresses"
        ],
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "access_ip_address_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPAddressResponseSchema"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve an access IP address",
        "operationId": "GetAccessIpAddress",
        "tags": [
          "IP Addresses"
        ],
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "access_ip_address_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPAddressResponseSchema"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/access_ip_ranges": {
      "get": {
        "summary": "List all Access IP Ranges",
        "operationId": "ListAccessIpRanges",
        "tags": [
          "IP Ranges"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[cidr_block], filter[cidr_block][startswith], filter[cidr_block][endswith], filter[cidr_block][contains], filter[created_at]. Supports complex bracket operations for dynamic filtering.",
            "schema": {
              "type": "object",
              "properties": {
                "cidr_block": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact CIDR block match"
                    },
                    {
                      "type": "object",
                      "title": "CidrBlockPatternFilter",
                      "properties": {
                        "startswith": {
                          "type": "string",
                          "description": "Filter CIDR blocks starting with the specified string"
                        },
                        "endswith": {
                          "type": "string",
                          "description": "Filter CIDR blocks ending with the specified string"
                        },
                        "contains": {
                          "type": "string",
                          "description": "Filter CIDR blocks containing the specified string"
                        }
                      },
                      "additionalProperties": false,
                      "description": "CIDR block pattern matching operations"
                    }
                  ]
                },
                "created_at": {
                  "oneOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "description": "Filter by exact creation date-time"
                    },
                    {
                      "type": "object",
                      "title": "DateRangeFilter",
                      "properties": {
                        "gt": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time greater than"
                        },
                        "lt": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time less than"
                        },
                        "gte": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time greater than or equal to"
                        },
                        "lte": {
                          "type": "string",
                          "format": "date-time",
                          "description": "Filter for creation date-time less than or equal to"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Date range filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": true
            },
            "examples": {
              "filter[cidr_block]=192.168.1.0/24": {
                "value": {
                  "cidr_block": "192.168.1.0/24"
                },
                "summary": "Filter by exact CIDR block match"
              },
              "filter[cidr_block][startswith]=192.168": {
                "value": {
                  "cidr_block": {
                    "startswith": "192.168"
                  }
                },
                "summary": "Filter CIDR blocks starting with '192.168'"
              },
              "filter[cidr_block][endswith]=/24": {
                "value": {
                  "cidr_block": {
                    "endswith": "/24"
                  }
                },
                "summary": "Filter CIDR blocks ending with '/24'"
              },
              "filter[cidr_block][contains]=10.0": {
                "value": {
                  "cidr_block": {
                    "contains": "10.0"
                  }
                },
                "summary": "Filter CIDR blocks containing '10.0'"
              },
              "filter[created_at][gt]=2023-01-01T00:00:00Z": {
                "value": {
                  "created_at": {
                    "gt": "2023-01-01T00:00:00Z"
                  }
                },
                "summary": "Filter IP ranges created after the specified date-time"
              },
              "filter[created_at][lt]=2023-12-31T23:59:59Z": {
                "value": {
                  "created_at": {
                    "lt": "2023-12-31T23:59:59Z"
                  }
                },
                "summary": "Filter IP ranges created before the specified date-time"
              },
              "Complex filtering example": {
                "value": {
                  "cidr_block": {
                    "startswith": "10.0",
                    "endswith": "/16"
                  },
                  "created_at": {
                    "gt": "2023-01-01T00:00:00Z",
                    "lt": "2023-12-31T23:59:59Z"
                  }
                },
                "summary": "Combine multiple filters: CIDR blocks starting with '10.0' and ending with '/16', created within 2023"
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "default": 1
                },
                "size": {
                  "maximum": 250,
                  "type": "integer",
                  "default": 20
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "Default pagination with first page and 20 records per page"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Second page with 20 records per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "First page with 50 records per page"
              },
              "page[number]=5&page[size]=100": {
                "value": {
                  "number": 5,
                  "size": 100
                },
                "summary": "Fifth page with 100 records per page"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPRangeListResponseSchema"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create new Access IP Range",
        "operationId": "CreateAccessIPRange",
        "tags": [
          "IP Ranges"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccessIPRangePOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPRangeResponseSchema"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/access_ip_ranges/{access_ip_range_id}": {
      "delete": {
        "summary": "Delete access IP ranges",
        "operationId": "DeleteAccessIpRange",
        "tags": [
          "IP Ranges"
        ],
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "access_ip_range_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessIPRangeResponseSchema"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudflare-ip-list-sync_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/actions/purchase/esims": {
      "post": {
        "x-latency-category": "background",
        "summary": "Purchase eSIMs",
        "description": "Purchases and registers the specified amount of eSIMs to the current user's account.<br/><br/>\nIf <code>sim_card_group_id</code> is provided, the eSIMs will be associated with that group. Otherwise, the default group for the current user will be used.<br/><br/>\n",
        "operationId": "PurchaseESim",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ESimPurchase"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/RegisterSimCardsResponse"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/actions/register/sim_cards": {
      "post": {
        "x-latency-category": "background",
        "summary": "Register SIM cards",
        "description": "Register the SIM cards associated with the provided registration codes to the current user's account.<br/><br/>\nIf <code>sim_card_group_id</code> is provided, the SIM cards will be associated with that group. Otherwise, the default group for the current user will be used.<br/><br/>\n",
        "operationId": "RegisterSimCards",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SIMCardRegistration"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/RegisterSimCardsResponse"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/addresses": {
      "get": {
        "description": "Returns a list of your addresses.",
        "summary": "List all addresses",
        "operationId": "FindAddresses",
        "tags": [
          "Addresses"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortAddress"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllAddressResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates an address.",
        "summary": "Creates an address",
        "operationId": "CreateAddress",
        "tags": [
          "Addresses"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during address creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AddressResponse"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/addresses/actions/validate": {
      "post": {
        "description": "Validates an address for emergency services.",
        "summary": "Validate an address",
        "operationId": "ValidateAddress",
        "tags": [
          "Addresses"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during address validation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateAddressRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ValidateAddressResponse"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/addresses/{id}": {
      "delete": {
        "description": "Deletes an existing address.",
        "summary": "Deletes an address",
        "operationId": "DeleteAddress",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "address ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AddressResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing address.",
        "summary": "Retrieve an address",
        "operationId": "GetAddress",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "address ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AddressResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/addresses/{id}/actions/accept_suggestions": {
      "post": {
        "summary": "Accepts this address suggestion as a new emergency address for Operator Connect and finishes the uploads of the numbers associated with it to Microsoft.",
        "operationId": "acceptAddressSuggestions",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the address that should be accepted."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptSuggestionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "This address suggestion has already been accepted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddressSuggestionResponse"
                }
              }
            }
          },
          "202": {
            "description": "This address suggestion was accepted. The numbers associated to it will resume processing in the background.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddressSuggestionResponse"
                }
              }
            }
          },
          "404": {
            "description": "Address not found or not accessible by the user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/advanced_orders": {
      "get": {
        "summary": "List Advanced Orders",
        "tags": [
          "Advanced Number Orders"
        ],
        "operationId": "list_advanced_orders_v2",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAdvancedOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create Advanced Order",
        "operationId": "create_advanced_order_v2",
        "tags": [
          "Advanced Number Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AdvancedOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/advanced_orders/{advanced-order-id}/requirement_group": {
      "patch": {
        "summary": "Update Advanced Order",
        "operationId": "update_advanced_order_v2",
        "parameters": [
          {
            "name": "advanced-order-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Order Id"
            }
          }
        ],
        "tags": [
          "Advanced Number Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AdvancedOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/advanced_orders/{order_id}": {
      "get": {
        "summary": "Get Advanced Order",
        "operationId": "get_advanced_order_v2",
        "parameters": [
          {
            "name": "order_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Order Id"
            }
          }
        ],
        "tags": [
          "Advanced Number Orders"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AdvancedOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "List assistants",
        "description": "Retrieve a list of all AI Assistants configured by the user.",
        "operationId": "get_assistants_public_assistants_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantsListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Create an assistant",
        "description": "Create a new AI Assistant.",
        "operationId": "create_new_assistant_public_assistants_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAssistantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/import": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Import assistants from external provider",
        "description": "Import assistants from external providers. Any assistant that has already been imported will be overwritten with its latest version from the importing provider.",
        "operationId": "import_assistants_public_assistants_import_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportAssistantsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantsListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tags": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get All Tags",
        "operationId": "get_all_assistant_tags",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "List assistant tests with pagination",
        "description": "Retrieves a paginated list of assistant tests with optional filtering capabilities",
        "operationId": "get_assistant_tests_public_assistants_tests_get",
        "parameters": [
          {
            "name": "test_suite",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter tests by test suite name",
              "title": "Test Suite"
            },
            "description": "Filter tests by test suite name"
          },
          {
            "name": "telnyx_conversation_channel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter tests by communication channel (e.g., 'web_chat', 'sms')",
              "title": "Telnyx Conversation Channel"
            },
            "description": "Filter tests by communication channel (e.g., 'web_chat', 'sms')"
          },
          {
            "name": "destination",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter tests by destination (phone number, webhook URL, etc.)",
              "title": "Destination"
            },
            "description": "Filter tests by destination (phone number, webhook URL, etc.)"
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1,
                  "description": "Number of tests to return per page (1-100)",
                  "default": 20,
                  "title": "Page[Size]"
                },
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Page number to retrieve (1-based indexing)",
                  "default": 1,
                  "title": "Page[Number]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns paginated test list with metadata for navigation and filtering",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAssistantTestList"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Create a new assistant test",
        "description": "Creates a comprehensive test configuration for evaluating AI assistant performance",
        "operationId": "create_assistant_test_public_assistants_tests_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAssistantTestRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created test configuration with assigned test ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantTestResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests/test-suites": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get all test suite names",
        "description": "Retrieves a list of all distinct test suite names available to the current user",
        "operationId": "fetch_test_suites_public_assistants_tests_test_suites_get",
        "responses": {
          "200": {
            "description": "Returns an array of unique test suite names for filtering and organization",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestSuitesResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests/test-suites/{suite_name}/runs": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get test suite run history",
        "description": "Retrieves paginated history of test runs for a specific test suite with filtering options",
        "operationId": "get_test_suite_runs_for_test_public_assistants_tests_test_suites__suite_name__runs_get",
        "parameters": [
          {
            "name": "suite_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Suite Name"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter runs by execution status (pending, running, completed, failed, timeout)",
              "title": "Status"
            },
            "description": "Filter runs by execution status (pending, running, completed, failed, timeout)"
          },
          {
            "name": "test_suite_run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter runs by specific suite execution batch ID",
              "title": "Test Suite Run Id"
            },
            "description": "Filter runs by specific suite execution batch ID"
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1,
                  "description": "Number of test runs to return per page (1-100)",
                  "default": 20,
                  "title": "Page[Size]"
                },
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Page number to retrieve (1-based indexing)",
                  "default": 1,
                  "title": "Page[Number]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns paginated list of test runs within the specified suite",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedTestRunList"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Trigger test suite execution",
        "description": "Executes all tests within a specific test suite as a batch operation",
        "operationId": "trigger_test_suite_runs_public_assistants_tests_test_suites__suite_name__runs_post",
        "parameters": [
          {
            "name": "suite_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Suite Name"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerTestSuiteRunsRequest",
                "title": "Request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns array of created test runs for all tests in the suite",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TestRunResponse"
                  },
                  "title": "Response Trigger Test Suite Runs Public Assistants Tests Test Suites  Suite Name  Runs Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests/{test_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete an assistant test",
        "description": "Permanently removes an assistant test and all associated data",
        "operationId": "delete_assistant_test_public_assistants_tests__test_id__delete",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns success status when test is successfully deleted"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get assistant test by ID",
        "description": "Retrieves detailed information about a specific assistant test",
        "operationId": "get_assistant_test_public_assistants_tests__test_id__get",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns complete test configuration including rubric, schedule, and metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantTestResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Assistants"
        ],
        "summary": "Update an assistant test",
        "description": "Updates an existing assistant test configuration with new settings",
        "operationId": "update_assistant_test_public_assistants_tests__test_id__put",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssistantTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated test configuration with all changes applied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantTestResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests/{test_id}/runs": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get test run history for a specific test",
        "description": "Retrieves paginated execution history for a specific assistant test with filtering options",
        "operationId": "get_test_runs_for_test_public_assistants_tests__test_id__runs_get",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter runs by execution status (pending, running, completed, failed, timeout)",
              "title": "Status"
            },
            "description": "Filter runs by execution status (pending, running, completed, failed, timeout)"
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1,
                  "description": "Number of test runs to return per page (1-100)",
                  "default": 20,
                  "title": "Page[Size]"
                },
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Page number to retrieve (1-based indexing)",
                  "default": 1,
                  "title": "Page[Number]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns paginated list of test runs for the specified test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedTestRunList"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Trigger a manual test run",
        "description": "Initiates immediate execution of a specific assistant test",
        "operationId": "trigger_test_run_public_assistants_tests__test_id__runs_post",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerTestRunRequest",
                "title": "Request"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created test run with execution details and status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/tests/{test_id}/runs/{run_id}": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get specific test run details",
        "description": "Retrieves detailed information about a specific test run execution",
        "operationId": "get_test_run_public_assistants_tests__test_id__runs__run_id__get",
        "parameters": [
          {
            "name": "test_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Test Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns complete test run details including results, logs, and performance metrics",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete an assistant",
        "description": "Delete an AI Assistant by `assistant_id`.",
        "operationId": "delete_assistant_public_assistants__assistant_id__delete",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantDeletedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get an assistant",
        "description": "Retrieve an AI Assistant configuration by `assistant_id`.",
        "operationId": "get_assistant_public_assistants__assistant_id__get",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "fetch_dynamic_variables_from_webhook",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Fetch Dynamic Variables From Webhook"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "From"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "To"
            }
          },
          {
            "name": "call_control_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Call Control Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Update an assistant",
        "description": "Update an AI Assistant's attributes.",
        "operationId": "update_assistant_public_assistants__assistant_id__post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssistantRequestWithPromotion"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/canary-deploys": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete Canary Deploy",
        "description": "Endpoint to delete a canary deploy configuration for an assistant.\n\nRemoves all canary deploy configurations for the specified assistant.",
        "operationId": "delete_canary_deploy_assistants__assistant_id__canary_deploys_delete",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get Canary Deploy",
        "description": "Endpoint to get a canary deploy configuration for an assistant.\n\nRetrieves the current canary deploy configuration with all version IDs and their\ntraffic percentages for the specified assistant.",
        "operationId": "get_canary_deploy_assistants__assistant_id__canary_deploys_get",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanaryDeployResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Create Canary Deploy",
        "description": "Endpoint to create a canary deploy configuration for an assistant.\n\nCreates a new canary deploy configuration with multiple version IDs and their traffic\npercentages for A/B testing or gradual rollouts of assistant versions.",
        "operationId": "create_canary_deploy_assistants__assistant_id__canary_deploys_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CanaryDeployRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanaryDeployResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Assistants"
        ],
        "summary": "Update Canary Deploy",
        "description": "Endpoint to update a canary deploy configuration for an assistant.\n\nUpdates the existing canary deploy configuration with new version IDs and percentages.\n  All old versions and percentages are replaces by new ones from this request.",
        "operationId": "update_canary_deploy_assistants__assistant_id__canary_deploys_put",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CanaryDeployRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanaryDeployResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/chat": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Assistant Chat (BETA)",
        "description": "This endpoint allows a client to send a chat message to a specific AI Assistant. The assistant processes the message and returns a relevant reply based on the current conversation context. Refer to the Conversation API to [create a conversation](https://developers.telnyx.com/api-reference/conversations/create-a-conversation), [filter existing conversations](https://developers.telnyx.com/api-reference/conversations/list-conversations), [fetch messages for a conversation](https://developers.telnyx.com/api-reference/conversations/get-conversation-messages), and [manually add messages to a conversation](https://developers.telnyx.com/api-reference/conversations/create-message).",
        "operationId": "assistant_chat_public_assistants__assistant_id__chat_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssistantChatReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantChatResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/chat/sms": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Assistant Sms Chat",
        "description": "Send an SMS message for an assistant. This endpoint: \n1. Validates the assistant exists and has messaging profile configured \n2. If should_create_conversation is true, creates a new conversation with metadata \n3. Sends the SMS message (If `text` is set, this will be sent. Otherwise, if this is the first message in the conversation and the assistant has a `greeting` configured, this will be sent. Otherwise the assistant will generate the text to send.) \n4. Updates conversation metadata if provided \n5. Returns the conversation ID",
        "operationId": "assistant_sms_chat_assistants__assistant_id__chat_sms_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssistantSmsChatReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantSmsChatResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/clone": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Clone Assistant",
        "description": "Clone an existing assistant, excluding telephony and messaging settings.",
        "operationId": "clone_assistant_public_assistants__assistant_id__clone_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/scheduled_events": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "List scheduled events",
        "description": "Get scheduled events for an assistant with pagination and filtering",
        "operationId": "get_scheduled_events",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "From Date"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "To Date"
            }
          },
          {
            "name": "conversation_channel",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ConversationChannelType",
              "title": "Conversation Channel"
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1,
                  "default": 20,
                  "title": "Page[Size]"
                },
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "title": "Page[Number]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedScheduledEventList"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Create a scheduled event",
        "description": "Create a scheduled event for an assistant",
        "operationId": "create_scheduled_event",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScheduledEventRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledEventResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/scheduled_events/{event_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete a scheduled event",
        "description": "If the event is pending, this will cancel the event. Otherwise, this will simply remove the record of the event.",
        "operationId": "delete_scheduled_event",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Event Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get a scheduled event",
        "description": "Retrieve a scheduled event by event ID",
        "operationId": "get_scheduled_event",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Event Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledEventResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/tags": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Add Assistant Tag",
        "operationId": "add_assistant_tag",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTagRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/tags/{tag}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Remove Assistant Tag",
        "operationId": "remove_assistant_tag",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tag"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/texml": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get assistant texml",
        "description": "Get an assistant texml by `assistant_id`.",
        "operationId": "get_assistant_texml_public_assistants__assistant_id__texml_get",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/tools/{tool_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Remove Assistant Tool",
        "operationId": "remove_assistant_tool",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Assistants"
        ],
        "summary": "Add Assistant Tool",
        "operationId": "add_assistant_tool",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/tools/{tool_id}/test": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Test Assistant Tool",
        "description": "Test a webhook tool for an assistant",
        "operationId": "test_assistant_tool_public_assistants__assistant_id__tools__tool_id__test_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestWebhookToolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestWebhookToolResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/versions": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get all versions of an assistant",
        "description": "Retrieves all versions of a specific assistant with complete configuration and metadata",
        "operationId": "get_assistant_versions_public_assistants__assistant_id__versions_get",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns list of assistant versions ordered by creation date (newest first)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssistantsListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/versions/{version_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete a specific assistant version",
        "description": "Permanently removes a specific version of an assistant. Can not delete main version",
        "operationId": "delete_assistant_version_public_assistants__assistant_id__versions__version_id__delete",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Version Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns HTTP 204 No Content on successful deletion"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get a specific assistant version",
        "description": "Retrieves a specific version of an assistant by assistant_id and version_id",
        "operationId": "get_assistant_version_public_assistants__assistant_id__versions__version_id__get",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Version Id"
            }
          },
          {
            "name": "include_mcp_servers",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the specific assistant version configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Update a specific assistant version",
        "description": "Updates the configuration of a specific assistant version. Can not update main version",
        "operationId": "update_assistant_version_public_assistants__assistant_id__versions__version_id__post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Version Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssistantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated assistant version configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/assistants/{assistant_id}/versions/{version_id}/promote": {
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Promote an assistant version to main",
        "description": "Promotes a specific version to be the main/current version of the assistant. This will delete any existing canary deploy configuration and send all live production traffic to this version.",
        "operationId": "promote_assistant_version_public_assistants__assistant_id__versions__version_id__promote_post",
        "parameters": [
          {
            "name": "assistant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Assistant Id"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Version Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the promoted assistant configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inference-embedding_Assistant"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/audio/transcriptions": {
      "post": {
        "tags": [
          "Audio"
        ],
        "summary": "Transcribe speech to text",
        "description": "Transcribe speech to text. This endpoint is consistent with the [OpenAI Transcription API](https://platform.openai.com/docs/api-reference/audio/createTranscription) and may be used with the OpenAI JS or Python SDK.",
        "operationId": "audio_public_audio_transcriptions_post",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AudioTranscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTranscriptionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/chat/completions": {
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Create a chat completion",
        "description": "**Deprecated**: Use `POST /v2/ai/openai/chat/completions` instead. Chat with a language model. This endpoint is consistent with the [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat) and may be used with the OpenAI JS or Python SDK.",
        "operationId": "chat_public_chat_completions_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatCompletionRequest"
              },
              "example": {
                "messages": [
                  {
                    "role": "system",
                    "content": "You are a friendly chatbot."
                  },
                  {
                    "role": "user",
                    "content": "Hello, world!"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-hidden": true,
        "x-latency-category": "responsive"
      }
    },
    "/ai/clusters": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "List all clusters",
        "operationId": "list_all_requested_clusters_public_text_clusters_get",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "default": 0,
                  "title": "Page[Number]"
                },
                "size": {
                  "type": "integer",
                  "default": 20,
                  "title": "Page[Size]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusteringRequestInfoData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Compute new clusters",
        "description": "Starts a background task to compute how the data in an [embedded storage bucket](https://developers.telnyx.com/api-reference/embeddings/embed-documents) is clustered. This helps identify common themes and patterns in the data.",
        "operationId": "compute_new_cluster_public_text_clusters_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicTextClusteringRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TextClusteringResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/clusters/{task_id}": {
      "delete": {
        "tags": [
          "Clusters"
        ],
        "summary": "Delete a cluster",
        "operationId": "delete_cluster_by_task_id_public_text_clusters__task_id__delete",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Task Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Fetch a cluster",
        "operationId": "fetch_cluster_by_task_id_public_text_clusters__task_id__get",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Task Id"
            }
          },
          {
            "name": "top_n_nodes",
            "in": "query",
            "description": "The number of nodes in the cluster to return in the response. Nodes will be sorted by their centrality within the cluster.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "title": "Top N Nodes"
            }
          },
          {
            "name": "show_subclusters",
            "in": "query",
            "description": "Whether or not to include subclusters and their nodes in the response.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Show Subclusters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusteringStatusResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/clusters/{task_id}/graph": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Fetch a cluster visualization",
        "operationId": "fetch_cluster_image_by_task_id_public_text_clusters__task_id__image_get",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Task Id"
            }
          },
          {
            "name": "cluster_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "title": "Cluster Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response - Returns a PNG image of the cluster visualization.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations": {
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "List conversations",
        "description": "Retrieve a list of all AI conversations configured by the user. Supports [PostgREST-style query parameters](https://postgrest.org/en/stable/api.html#horizontal-filtering-rows) for filtering. Examples are included for the standard metadata fields, but you can filter on any field in the metadata JSON object. For example, to filter by a custom field `metadata->custom_field`, use `metadata->custom_field=eq.value`.",
        "operationId": "get_conversations_public_conversations_get",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Filter by conversation ID (e.g. id=eq.123)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filter by conversation Name (e.g. `name=like.Voice%`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "Filter by creation datetime (e.g., `created_at=gte.2025-01-01`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last_message_at",
            "in": "query",
            "description": "Filter by last message datetime (e.g., `last_message_at=lte.2025-06-01`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata->assistant_id",
            "in": "query",
            "description": "Filter by assistant ID (e.g., `metadata->assistant_id=eq.assistant-123`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata->call_control_id",
            "in": "query",
            "description": "Filter by call control ID (e.g., `metadata->call_control_id=eq.v3:123`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata->telnyx_agent_target",
            "in": "query",
            "description": "Filter by the phone number, SIP URI, or other identifier for the agent (e.g., `metadata->telnyx_agent_target=eq.+13128675309`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata->telnyx_end_user_target",
            "in": "query",
            "description": "Filter by the phone number, SIP URI, or other identifier for the end user (e.g., `metadata->telnyx_end_user_target=eq.+13128675309`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata->telnyx_conversation_channel",
            "in": "query",
            "description": "Filter by conversation channel (e.g., `metadata->telnyx_conversation_channel=eq.phone_call`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of returned conversations (e.g., `limit=10`)",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Order the results by specific fields (e.g., `order=created_at.desc` or `order=last_message_at.asc`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "or",
            "in": "query",
            "description": "Apply OR conditions using PostgREST syntax (e.g., `or=(created_at.gte.2025-04-01,last_message_at.gte.2025-04-01)`)",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationsListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Conversations"
        ],
        "summary": "Create a conversation",
        "description": "Create a new AI Conversation.",
        "operationId": "create_new_conversation_public_conversations_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConversationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Conversation"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insight-groups": {
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get Insight Template Groups",
        "description": "Get all insight groups",
        "operationId": "get_all_insight_groups",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Page number (0-based)",
                  "default": 1,
                  "title": "Page[Number]"
                },
                "size": {
                  "type": "integer",
                  "exclusiveMaximum": 100,
                  "minimum": 0,
                  "description": "Number of items per page",
                  "default": 20,
                  "title": "Page[Size]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetInsightTemplateGroupsRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Conversations"
        ],
        "summary": "Create Insight Template Group",
        "description": "Create a new insight group",
        "operationId": "create_insight_group",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsightTemplateGroupCreateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateGroupDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insight-groups/{group_id}": {
      "delete": {
        "tags": [
          "Conversations"
        ],
        "summary": "Delete Insight Template Group",
        "description": "Delete insight group by ID",
        "operationId": "delete_insight_group_by_id",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight group",
              "title": "Group Id"
            },
            "description": "The ID of the insight group"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get Insight Template Group",
        "description": "Get insight group by ID",
        "operationId": "get_insight_group_by_id",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight group",
              "title": "Group Id"
            },
            "description": "The ID of the insight group"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateGroupDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Conversations"
        ],
        "summary": "Update Insight Template Group",
        "description": "Update an insight template group",
        "operationId": "update_insight_group_by_id",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight group",
              "title": "Group Id"
            },
            "description": "The ID of the insight group"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsightTemplateGroupUpdateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateGroupDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign": {
      "post": {
        "tags": [
          "Conversations"
        ],
        "summary": "Assign Insight Template To Group",
        "description": "Assign an insight to a group",
        "operationId": "assign_insight_to_group",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight group",
              "title": "Group Id"
            },
            "description": "The ID of the insight group"
          },
          {
            "name": "insight_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight",
              "title": "Insight Id"
            },
            "description": "The ID of the insight"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign": {
      "delete": {
        "tags": [
          "Conversations"
        ],
        "summary": "Unassign Insight Template From Group",
        "description": "Remove an insight from a group",
        "operationId": "unassign_insight_from_group",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight group",
              "title": "Group Id"
            },
            "description": "The ID of the insight group"
          },
          {
            "name": "insight_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight",
              "title": "Insight Id"
            },
            "description": "The ID of the insight"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insights": {
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get Insight Templates",
        "description": "Get all insights",
        "operationId": "get_all_insights",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Page number (0-based)",
                  "default": 1,
                  "title": "Page[Number]"
                },
                "size": {
                  "type": "integer",
                  "exclusiveMaximum": 100,
                  "minimum": 0,
                  "description": "Number of items per page",
                  "default": 20,
                  "title": "Page[Size]"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetInsightTemplatesRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Conversations"
        ],
        "summary": "Create Insight Template",
        "description": "Create a new insight",
        "operationId": "create_insight",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsightTemplateCreateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/insights/{insight_id}": {
      "delete": {
        "tags": [
          "Conversations"
        ],
        "summary": "Delete Insight Template",
        "description": "Delete insight by ID",
        "operationId": "delete_insight_by_id",
        "parameters": [
          {
            "name": "insight_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight",
              "title": "Insight Id"
            },
            "description": "The ID of the insight"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get Insight Template",
        "description": "Get insight by ID",
        "operationId": "get_insight_by_id",
        "parameters": [
          {
            "name": "insight_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight",
              "title": "Insight Id"
            },
            "description": "The ID of the insight"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Conversations"
        ],
        "summary": "Update Insight Template",
        "description": "Update an insight template",
        "operationId": "update_insight_by_id",
        "parameters": [
          {
            "name": "insight_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the insight",
              "title": "Insight Id"
            },
            "description": "The ID of the insight"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsightTemplateUpdateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InsightTemplateDetailRespData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/{conversation_id}": {
      "delete": {
        "tags": [
          "Conversations"
        ],
        "summary": "Delete a conversation",
        "description": "Delete a specific conversation by its ID.",
        "operationId": "delete_conversation_by_id_public_conversations_delete",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the conversation to delete"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "404": {
            "description": "Conversation Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get a conversation",
        "description": "Retrieve a specific AI conversation by its ID.",
        "operationId": "get_conversation_by_id_public_conversations_get",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the conversation to retrieve"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Conversation"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Conversation Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Conversations"
        ],
        "summary": "Update conversation metadata",
        "description": "Update metadata for a specific conversation.",
        "operationId": "update_conversation_by_id_public_conversations_put",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the conversation to update"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConversationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Update",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Conversation"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Conversation Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/{conversation_id}/conversations-insights": {
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get insights for a conversation",
        "description": "Retrieve insights for a specific conversation",
        "operationId": "get_conversations_public__conversation_id__insights_get",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationInsightListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/{conversation_id}/message": {
      "post": {
        "tags": [
          "Conversations"
        ],
        "summary": "Create Message",
        "description": "Add a new message to the conversation. Used to insert a new messages to a conversation manually ( without using chat endpoint )",
        "operationId": "add_new_message",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the conversation",
              "title": "Conversation Id"
            },
            "description": "The ID of the conversation"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMsgReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/conversations/{conversation_id}/messages": {
      "get": {
        "tags": [
          "Conversations"
        ],
        "summary": "Get conversation messages",
        "description": "Retrieve messages for a specific conversation, including tool calls made by the assistant.",
        "operationId": "get_conversations_public__conversation_id__messages_get",
        "parameters": [
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "The number of messages to return per page.",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "description": "The page number to retrieve.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationMessageListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings": {
      "get": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Get Tasks by Status",
        "description": "Retrieve tasks for the user that are either `queued`, `processing`, `failed`, `success` or `partial_success` based on the query string. Defaults to `queued` and `processing`.",
        "operationId": "GetTasksByStatus",
        "parameters": [
          {
            "description": "List of task statuses i.e. `status=queued&status=processing`",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array",
              "title": "Status",
              "description": "List of task statuses i.e. `status=queued&status=processing`",
              "default": [
                "processing",
                "queued"
              ]
            },
            "name": "status",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackgroundTasksQueryResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Embed documents",
        "description": "Perform embedding on a Telnyx Storage Bucket using the a embedding model.\nThe current supported file types are:\n- PDF\n- HTML\n- txt/unstructured text files\n- json\n- csv\n- audio / video (mp3, mp4, mpeg, mpga, m4a, wav, or webm ) - Max of 100mb file size.\n\nAny files not matching the above types will be attempted to be embedded as unstructured text.\n\nThis process can be slow, so it runs in the background and the user can check\nthe status of the task using the endpoint `/ai/embeddings/{task_id}`.\n\n **Important Note**: When you update documents in a Telnyx Storage bucket, their associated embeddings are automatically kept up to date. If you add or update a file, it is automatically embedded. If you delete a file, the embeddings are deleted for that particular file.\n\nYou can also specify a custom `loader` param. Currently the only supported loader value is\n`intercom` which loads Intercom article jsons as specified by [the Intercom article API](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/Articles/article/)\nThis loader will split each article into paragraphs and save additional parameters relevant to Intercom docs, such as\n`article_url` and `heading`. These values will be returned by the `/v2/ai/embeddings/similarity-search` endpoint in the `loader_metadata` field.",
        "operationId": "PostEmbedding",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmbeddingBucketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings/buckets": {
      "get": {
        "tags": [
          "Embeddings"
        ],
        "summary": "List embedded buckets",
        "description": "Get all embedding buckets for a user.",
        "operationId": "GetEmbeddingBuckets",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserEmbeddedBucketsData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings/buckets/{bucket_name}": {
      "delete": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Disable AI for an Embedded Bucket",
        "description": "Deletes an entire bucket's embeddings and disables the bucket for AI-use, returning it to normal storage pricing.",
        "operationId": "embedding_bucket_files_public_embedding_buckets__bucket_name__delete",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Bucket Name"
            },
            "name": "bucket_name",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Bucket Embeddings Deleted Successfully"
          },
          "404": {
            "description": "Bucket Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BucketNotFoundError"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Get file-level embedding statuses for a bucket",
        "description": "Get all embedded files for a given user bucket, including their processing status.",
        "operationId": "GetBucketName",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Bucket Name"
            },
            "name": "bucket_name",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingsBucketFilesData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings/similarity-search": {
      "post": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Search for documents",
        "description": "Perform a similarity search on a Telnyx Storage Bucket, returning the most similar `num_docs` document chunks to the query.\n\nCurrently the only available distance metric is cosine similarity which will return a `distance` between 0 and 1.\nThe lower the distance, the more similar the returned document chunks are to the query.\nA `certainty` will also be returned, which is a value between 0 and 1 where the higher the certainty, the more similar the document.\nYou can read more about Weaviate distance metrics here: [Weaviate Docs](https://weaviate.io/developers/weaviate/config-refs/distances)\n\nIf a bucket was embedded using a custom loader, such as `intercom`, the additional metadata will be returned in the \n`loader_metadata` field.",
        "operationId": "PostEmbeddingSimilaritySearch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmbeddingSimilaritySearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingSimilaritySearchResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings/url": {
      "post": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Embed URL content",
        "description": "Embed website content from a specified URL, including child pages up to 5 levels deep within the same domain. The process crawls and loads content from the main URL and its linked pages into a Telnyx Cloud Storage bucket. As soon as each webpage is added to the bucket, its content is immediately processed for embeddings, that can be used for [similarity search](https://developers.telnyx.com/api-reference/embeddings/search-for-documents) and [clustering](https://developers.telnyx.com/docs/inference/clusters).",
        "operationId": "PostEmbeddingUrl",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmbeddingUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/embeddings/{task_id}": {
      "get": {
        "tags": [
          "Embeddings"
        ],
        "summary": "Get an embedding task's status",
        "description": "Check the status of a current embedding task. Will be one of the following:\n- `queued` - Task is waiting to be picked up by a worker\n- `processing` - The embedding task is running\n- `success` - Task completed successfully and the bucket is embedded\n- `failure` - Task failed and no files were embedded successfully\n- `partial_success` - Some files were embedded successfully, but at least one failed",
        "operationId": "GetEmbeddingTask",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Task Id"
            },
            "name": "task_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskStatusResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/fine_tuning/jobs": {
      "get": {
        "tags": [
          "Fine Tuning"
        ],
        "summary": "List fine tuning jobs",
        "description": "Retrieve a list of all fine tuning jobs created by the user.",
        "operationId": "get_finetuningjob_public_finetuning_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FineTuningJobsListData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Fine Tuning"
        ],
        "summary": "Create a fine tuning job",
        "description": "Create a new fine tuning job.",
        "operationId": "create_new_finetuningjob_public_finetuning_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFineTuningJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FineTuningJob"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/fine_tuning/jobs/{job_id}": {
      "get": {
        "tags": [
          "Fine Tuning"
        ],
        "summary": "Get a fine tuning job",
        "description": "Retrieve a fine tuning job by `job_id`.",
        "operationId": "get_finetuningjob_public_finetuning__job_id__get",
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Job Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FineTuningJob"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/fine_tuning/jobs/{job_id}/cancel": {
      "post": {
        "tags": [
          "Fine Tuning"
        ],
        "summary": "Cancel a fine tuning job",
        "description": "Cancel a fine tuning job.",
        "operationId": "cancel_new_finetuningjob_public_finetuning_post",
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Job Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FineTuningJob"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/integrations": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Integrations",
        "description": "List all available integrations.",
        "operationId": "list_integrations_public_integrations_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/integrations/connections": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List User Integrations",
        "description": "List user setup integrations",
        "operationId": "list_user_integrations_public_integrations_connections_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationConnectionsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/integrations/connections/{user_connection_id}": {
      "delete": {
        "tags": [
          "Integrations"
        ],
        "summary": "Delete Integration Connection",
        "description": "Delete a specific integration connection.",
        "operationId": "delete_integration_connection",
        "parameters": [
          {
            "name": "user_connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The user integration connection identifier"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Integration connection deleted successfully"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get User Integration connection By Id",
        "description": "Get user setup integrations",
        "operationId": "get_user_integration_by_id_public_integrations_connections__user_connection_id__get",
        "parameters": [
          {
            "name": "user_connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The connection id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationConnectionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/integrations/{integration_id}": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Integration By Id",
        "description": "Retrieve integration details",
        "operationId": "list_integration_by_id_public_integrations__integration_id__get",
        "parameters": [
          {
            "name": "integration_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The integration id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/mcp_servers": {
      "get": {
        "tags": [
          "MCP Servers"
        ],
        "summary": "List MCP Servers",
        "description": "Retrieve a list of MCP servers.",
        "operationId": "list_mcp_servers",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Type"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Url"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Page[Size]"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page[Number]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MCPServersListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "MCP Servers"
        ],
        "summary": "Create MCP Server",
        "description": "Create a new MCP server.",
        "operationId": "create_mcp_server",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMCPServerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MCPServer"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/mcp_servers/{mcp_server_id}": {
      "delete": {
        "tags": [
          "MCP Servers"
        ],
        "summary": "Delete MCP Server",
        "description": "Delete a specific MCP server.",
        "operationId": "delete_mcp_server",
        "parameters": [
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "MCP Servers"
        ],
        "summary": "Get MCP Server",
        "description": "Retrieve details for a specific MCP server.",
        "operationId": "get_mcp_server",
        "parameters": [
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MCPServer"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "MCP Servers"
        ],
        "summary": "Update MCP Server",
        "description": "Update an existing MCP server.",
        "operationId": "update_mcp_server",
        "parameters": [
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMCPServerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MCPServer"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List missions",
        "description": "List all missions for the organization",
        "operationId": "get_public_missions_missions",
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number (1-based)",
              "default": 1,
              "title": "Page[Number]"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "exclusiveMinimum": 0,
              "description": "Number of items per page",
              "default": 20,
              "title": "Page[Size]",
              "minimum": 0
            },
            "description": "Number of items per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Create mission",
        "description": "Create a new mission definition",
        "operationId": "post_public_missions_missions",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMissionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/events": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List recent events",
        "description": "List recent events across all missions",
        "operationId": "get_public_missions_missions_events",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Type",
              "type": "string"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number (1-based)",
              "default": 1,
              "title": "Page[Number]"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "exclusiveMinimum": 0,
              "description": "Number of items per page",
              "default": 50,
              "title": "Page[Size]",
              "minimum": 0
            },
            "description": "Number of items per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/runs": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List recent runs",
        "description": "List recent runs across all missions",
        "operationId": "get_public_missions_missions_runs",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Status",
              "type": "string"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number (1-based)",
              "default": 1,
              "title": "Page[Number]"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "exclusiveMinimum": 0,
              "description": "Number of items per page",
              "default": 20,
              "title": "Page[Size]",
              "minimum": 0
            },
            "description": "Number of items per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}": {
      "delete": {
        "tags": [
          "Missions"
        ],
        "summary": "Delete mission",
        "description": "Delete a mission",
        "operationId": "delete_public_missions_missions_mission_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get mission",
        "description": "Get a mission by ID (includes tools, knowledge_bases, mcp_servers)",
        "operationId": "get_public_missions_missions_mission_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Missions"
        ],
        "summary": "Update mission",
        "description": "Update a mission definition",
        "operationId": "put_public_missions_missions_mission_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/clone": {
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Clone mission",
        "description": "Clone an existing mission",
        "operationId": "post_public_missions_missions_mission_id_clone",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/knowledge-bases": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List knowledge bases",
        "description": "List all knowledge bases for a mission",
        "operationId": "get_public_missions_missions_mission_id_knowledge_bases",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Create knowledge base",
        "description": "Create a new knowledge base for a mission",
        "operationId": "post_public_missions_missions_mission_id_knowledge_bases",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}": {
      "delete": {
        "tags": [
          "Missions"
        ],
        "summary": "Delete knowledge base",
        "description": "Delete a knowledge base from a mission",
        "operationId": "delete_public_missions_missions_mission_id_knowledge_bases_knowledge_base_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "knowledge_base_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Knowledge Base Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get knowledge base",
        "description": "Get a specific knowledge base by ID",
        "operationId": "get_public_missions_missions_mission_id_knowledge_bases_knowledge_base_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "knowledge_base_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Knowledge Base Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Missions"
        ],
        "summary": "Update knowledge base",
        "description": "Update a knowledge base definition",
        "operationId": "put_public_missions_missions_mission_id_knowledge_bases_knowledge_base_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "knowledge_base_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Knowledge Base Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/mcp-servers": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List MCP servers",
        "description": "List all MCP servers for a mission",
        "operationId": "get_public_missions_missions_mission_id_mcp_servers",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Create MCP server",
        "description": "Create a new MCP server for a mission",
        "operationId": "post_public_missions_missions_mission_id_mcp_servers",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/mcp-servers/{mcp_server_id}": {
      "delete": {
        "tags": [
          "Missions"
        ],
        "summary": "Delete MCP server",
        "description": "Delete an MCP server from a mission",
        "operationId": "delete_public_missions_missions_mission_id_mcp_servers_mcp_server_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get MCP server",
        "description": "Get a specific MCP server by ID",
        "operationId": "get_public_missions_missions_mission_id_mcp_servers_mcp_server_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Missions"
        ],
        "summary": "Update MCP server",
        "description": "Update an MCP server definition",
        "operationId": "put_public_missions_missions_mission_id_mcp_servers_mcp_server_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "mcp_server_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mcp Server Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List runs for mission",
        "description": "List all runs for a specific mission",
        "operationId": "get_public_missions_missions_mission_id_runs",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Status",
              "type": "string"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number (1-based)",
              "default": 1,
              "title": "Page[Number]"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "exclusiveMinimum": 0,
              "description": "Number of items per page",
              "default": 20,
              "title": "Page[Size]",
              "minimum": 0
            },
            "description": "Number of items per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Start a run",
        "description": "Start a new run for a mission",
        "operationId": "post_public_missions_missions_mission_id_runs",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMissionRunRequest",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get run details",
        "description": "Get details of a specific run",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Missions"
        ],
        "summary": "Update run",
        "description": "Update run status and/or result",
        "operationId": "patch_public_missions_missions_mission_id_runs_run_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMissionRunRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/cancel": {
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Cancel run",
        "description": "Cancel a running or paused run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_cancel",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/events": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List events",
        "description": "List events for a run (paginated)",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id_events",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Type",
              "type": "string"
            }
          },
          {
            "name": "step_id",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Step Id",
              "type": "string"
            }
          },
          {
            "name": "agent_id",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Agent Id",
              "type": "string"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number (1-based)",
              "default": 1,
              "title": "Page[Number]"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "exclusiveMinimum": 0,
              "description": "Number of items per page",
              "default": 50,
              "title": "Page[Size]",
              "minimum": 0
            },
            "description": "Number of items per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Log event",
        "description": "Log an event for a run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_events",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEventRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/events/{event_id}": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get event details",
        "description": "Get details of a specific event",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id_events_event_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Event Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/pause": {
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Pause run",
        "description": "Pause a running run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_pause",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/plan": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get plan",
        "description": "Get the plan (all steps) for a run",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id_plan",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Create initial plan",
        "description": "Create the initial plan for a run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_plan",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePlanRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanStepsCreatedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/plan/steps": {
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Add step(s) to plan",
        "description": "Add one or more steps to an existing plan",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_plan_steps",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPlanStepsRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanStepsCreatedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get step details",
        "description": "Get details of a specific plan step",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id_plan_steps_step_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          },
          {
            "name": "step_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Step Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanStepResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Missions"
        ],
        "summary": "Update step status",
        "description": "Update the status of a plan step",
        "operationId": "patch_public_missions_missions_mission_id_runs_run_id_plan_steps_step_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          },
          {
            "name": "step_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Step Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePlanStepRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanStepResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/resume": {
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Resume run",
        "description": "Resume a paused run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_resume",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/telnyx-agents": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List linked Telnyx agents",
        "description": "List all Telnyx agents linked to a run",
        "operationId": "get_public_missions_missions_mission_id_runs_run_id_telnyx_agents",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxAgentsListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Link Telnyx agent to run",
        "description": "Link a Telnyx AI agent (voice/messaging) to a run",
        "operationId": "post_public_missions_missions_mission_id_runs_run_id_telnyx_agents",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LinkTelnyxAgentRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelnyxAgentResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}": {
      "delete": {
        "tags": [
          "Missions"
        ],
        "summary": "Unlink Telnyx agent",
        "description": "Unlink a Telnyx agent from a run",
        "operationId": "delete_public_missions_missions_mission_id_runs_run_id_telnyx_agents_telnyx_agent_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Mission Id"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Run Id"
            }
          },
          {
            "name": "telnyx_agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Telnyx Agent Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/tools": {
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "List tools",
        "description": "List all tools for a mission",
        "operationId": "get_public_missions_missions_mission_id_tools",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Missions"
        ],
        "summary": "Create tool",
        "description": "Create a new tool for a mission",
        "operationId": "post_public_missions_missions_mission_id_tools",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/missions/{mission_id}/tools/{tool_id}": {
      "delete": {
        "tags": [
          "Missions"
        ],
        "summary": "Delete tool",
        "description": "Delete a tool from a mission",
        "operationId": "delete_public_missions_missions_mission_id_tools_tool_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Missions"
        ],
        "summary": "Get tool",
        "description": "Get a specific tool by ID",
        "operationId": "get_public_missions_missions_mission_id_tools_tool_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Missions"
        ],
        "summary": "Update tool",
        "description": "Update a tool definition",
        "operationId": "put_public_missions_missions_mission_id_tools_tool_id",
        "parameters": [
          {
            "name": "mission_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Mission Id"
            }
          },
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/models": {
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Get available models",
        "description": "**Deprecated**: Use `GET /v2/ai/openai/models` instead.\n\nReturns the same `ModelsResponse` payload as the OpenAI-compatible endpoint — open-source LLMs hosted on Telnyx (e.g. `moonshotai/Kimi-K2.6`, `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`), embedding models, and fine-tuned models — kept around for backwards compatibility. New integrations should use `/v2/ai/openai/models`.\n\nModel ids follow the `{organization}/{model_name}` convention from Hugging Face.",
        "operationId": "get_models_public_models_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-hidden": true,
        "x-latency-category": "responsive"
      }
    },
    "/ai/openai/chat/completions": {
      "post": {
        "tags": [
          "OpenAI Chat"
        ],
        "summary": "Create a chat completion (OpenAI-compatible)",
        "description": "Chat with a language model. This endpoint is consistent with the [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat) and may be used with the OpenAI JS or Python SDK by setting the base URL to `https://api.telnyx.com/v2/ai/openai`.",
        "operationId": "create_openai_chat_completion",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatCompletionRequest"
              },
              "example": {
                "messages": [
                  {
                    "role": "system",
                    "content": "You are a friendly chatbot."
                  },
                  {
                    "role": "user",
                    "content": "Hello, world!"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/openai/embeddings": {
      "post": {
        "tags": [
          "OpenAI Embeddings"
        ],
        "summary": "Create embeddings",
        "description": "Creates an embedding vector representing the input text. This endpoint is compatible with the [OpenAI Embeddings API](https://platform.openai.com/docs/api-reference/embeddings) and may be used with the OpenAI JS or Python SDK by setting the base URL to `https://api.telnyx.com/v2/ai/openai`.",
        "operationId": "create_openai_embeddings",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenAIEmbeddingRequest"
              },
              "example": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "thenlper/gte-large"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIEmbeddingResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/openai/embeddings/models": {
      "get": {
        "tags": [
          "OpenAI Embeddings"
        ],
        "summary": "List embedding models",
        "description": "Returns a list of available embedding models. This endpoint is compatible with the OpenAI Models API format.",
        "operationId": "list_openai_embedding_models",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIEmbeddingModelsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/openai/models": {
      "get": {
        "tags": [
          "OpenAI Chat"
        ],
        "summary": "Get available models (OpenAI-compatible)",
        "description": "Lists every model currently available to your account on Telnyx Inference, including SOTA open-source LLMs hosted on Telnyx GPUs (for example `moonshotai/Kimi-K2.6`, `zai-org/GLM-5.1-FP8`, and `MiniMaxAI/MiniMax-M2.7`), embedding models, and any fine-tuned models you have created.\n\nEach entry is a `ModelMetadata` object describing the model id, owner, task, context length, supported languages, billing tier, pricing per 1M tokens, deployment regions, and whether the model supports vision or fine-tuning. Use this endpoint to discover model ids you can pass to `POST /v2/ai/openai/chat/completions`.\n\nModel ids follow the `{organization}/{model_name}` convention from Hugging Face (for example `moonshotai/Kimi-K2.6`). This endpoint is OpenAI-compatible: clients pointed at `https://api.telnyx.com/v2/ai/openai` can call `client.models.list()` to retrieve the same payload.",
        "operationId": "list_openai_models",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/openai/responses": {
      "post": {
        "tags": [
          "OpenAI Chat"
        ],
        "summary": "Create an OpenAI-compatible response",
        "description": "Create a response using Telnyx's OpenAI-compatible Responses API. This endpoint is compatible with the [OpenAI Responses API](https://developers.openai.com/api/reference/responses/overview) and may be used with the OpenAI JS or Python SDK by setting the base URL to `https://api.telnyx.com/v2/ai/openai`.\n\nThe `conversation` parameter refers to a Telnyx Conversation rather than an OpenAI-hosted conversation object. To persist a thread across turns, first [create a conversation](https://developers.telnyx.com/api-reference/conversations/create-a-conversation) with `POST /ai/conversations`, then pass that conversation's `id` in the Responses request as `conversation`. The endpoint appends the new input, assistant output, reasoning, and tool-call messages to that conversation. Reuse the same `conversation` id on subsequent Responses requests, including tool-result followups, so the model receives the prior context.\n\nIf `conversation` is omitted, the request is processed without persisting messages to a Telnyx conversation. Use the Conversations API to manage history: [list conversations](https://developers.telnyx.com/api-reference/conversations/list-conversations) (optionally filtered by metadata), [fetch messages](https://developers.telnyx.com/api-reference/conversations/get-conversation-messages) for a conversation, and optionally [add messages](https://developers.telnyx.com/api-reference/conversations/create-message) outside the Responses flow.\n\nYou can attach arbitrary metadata when creating a conversation (for example to tag the conversation's source, channel, or user) and later filter by it when listing conversations.",
        "operationId": "chat_public_openai_responses_completions_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Model identifier to use for the response, for example `zai-org/GLM-5.1-FP8` or another model available from the Telnyx OpenAI-compatible models endpoint."
                  },
                  "input": {
                    "description": "The input items for this turn, using the OpenAI Responses API input format."
                  },
                  "conversation": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Optional Telnyx Conversation ID from `POST /ai/conversations`. When provided, Telnyx stores this turn on that conversation and uses the conversation's prior messages as context. Reuse the same ID for subsequent turns and tool-result followups. Omit it for a non-persisted, stateless response."
                  },
                  "instructions": {
                    "type": "string",
                    "description": "Optional system/developer instructions for the model. When used with a persisted `conversation`, send these on the first request that creates the thread; subsequent turns can rely on the stored history."
                  },
                  "stream": {
                    "type": "boolean",
                    "description": "Set to `true` to stream Server-Sent Events, matching OpenAI's Responses streaming format."
                  }
                }
              },
              "example": {
                "model": "zai-org/GLM-5.1-FP8",
                "conversation": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                "instructions": "You are a friendly chatbot.",
                "input": [
                  {
                    "role": "user",
                    "content": [
                      {
                        "type": "input_text",
                        "text": "Hello, world!"
                      }
                    ]
                  }
                ],
                "stream": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/responses": {
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Create a response",
        "description": "**Deprecated**: Use `POST /v2/ai/openai/responses` instead. This endpoint is compatible with the [OpenAI Responses API](https://developers.openai.com/api/reference/responses/overview) and may be used with the OpenAI JS or Python SDK. Response id parameter is not supported at the moment. Use the `conversation` parameter with a Telnyx Conversation ID to leverage persistent conversations.",
        "operationId": "chat_public_responses_completions_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              },
              "example": {
                "model": "zai-org/GLM-5.1-FP8",
                "input": [
                  {
                    "role": "system",
                    "content": [
                      {
                        "type": "input_text",
                        "text": "You are a friendly chatbot."
                      }
                    ]
                  },
                  {
                    "role": "user",
                    "content": [
                      {
                        "type": "input_text",
                        "text": "Hello, world!"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-hidden": true,
        "x-latency-category": "responsive"
      }
    },
    "/ai/summarize": {
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Summarize file content",
        "description": "Generate a summary of a file's contents. \n\n Supports the following text formats: \n- PDF, HTML, txt, json, csv\n\n Supports the following media formats (billed for both the transcription and summary): \n- flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm\n- Up to 100 MB",
        "operationId": "PostSummary",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SummaryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SummaryResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/tools": {
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "List Tools",
        "operationId": "list_tools",
        "parameters": [
          {
            "name": "filter[type]",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Filter[Type]",
              "type": "string"
            }
          },
          {
            "name": "filter[name]",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Filter[Name]",
              "type": "string"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Page[Size]"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page[Number]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SharedToolListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Assistants"
        ],
        "summary": "Create Tool",
        "operationId": "create_tool_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSharedToolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SharedToolResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ai/tools/{tool_id}": {
      "delete": {
        "tags": [
          "Assistants"
        ],
        "summary": "Delete Tool",
        "operationId": "delete_tool_tool_id",
        "parameters": [
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Assistants"
        ],
        "summary": "Get Tool",
        "operationId": "get_tool_tool_id",
        "parameters": [
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SharedToolResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Assistants"
        ],
        "summary": "Update Tool",
        "operationId": "update_tool_tool_id",
        "parameters": [
          {
            "name": "tool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tool Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSharedToolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SharedToolResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/alphanumeric_sender_ids": {
      "get": {
        "summary": "List alphanumeric sender IDs",
        "description": "List all alphanumeric sender IDs for the authenticated user.",
        "operationId": "ListAlphanumericSenderIds",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "filter[messaging_profile_id]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Filter by messaging profile ID."
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Page number."
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Page size."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAlphanumericSenderIdsResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/messaging_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create an alphanumeric sender ID",
        "description": "Create a new alphanumeric sender ID associated with a messaging profile.",
        "operationId": "CreateAlphanumericSenderId",
        "tags": [
          "Messaging"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAlphanumericSenderIdRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/AlphanumericSenderIdResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/messaging_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/alphanumeric_sender_ids/{id}": {
      "delete": {
        "summary": "Delete an alphanumeric sender ID",
        "description": "Delete an alphanumeric sender ID and disassociate it from its messaging profile.",
        "operationId": "DeleteAlphanumericSenderId",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The identifier of the alphanumeric sender ID."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AlphanumericSenderIdResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve an alphanumeric sender ID",
        "description": "Retrieve a specific alphanumeric sender ID.",
        "operationId": "GetAlphanumericSenderId",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The identifier of the alphanumeric sender ID."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AlphanumericSenderIdResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/audit_events": {
      "get": {
        "summary": "List Audit Logs",
        "description": "Retrieve a list of audit log entries. Audit logs are a best-effort, eventually consistent record of significant account-related changes.",
        "operationId": "ListAuditLogs",
        "tags": [
          "Audit Logs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/audit-logs_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/audit-logs_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/Sort"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AuditLogListResponse"
          },
          "401": {
            "$ref": "#/components/responses/AuditLogsGenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/AuditLogsGenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/authentication_providers": {
      "get": {
        "summary": "List all SSO authentication providers",
        "deprecated": false,
        "description": "Returns a list of your SSO authentication providers.",
        "operationId": "FindAuthenticationProviders",
        "tags": [
          "Authentication Providers"
        ],
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code>-</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>name</code>: sorts the result by the\n    <code>name</code> field in ascending order.\n  </li>\n  <li>\n    <code>-name</code>: sorts the result by the\n    <code>name</code> field in descending order.\n  </li>\n</ul><br/>If not given, results are sorted by <code>created_at</code> in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "short_name",
                "-short_name",
                "active",
                "-active",
                "created_at",
                "-created_at",
                "updated_at",
                "-updated_at"
              ],
              "default": "-created_at",
              "example": "name"
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "description": "The page number to load"
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 250,
                  "default": 20,
                  "description": "The size of the page"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AuthenticationProvider"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Creates an authentication provider",
        "deprecated": false,
        "description": "Creates an authentication provider.",
        "operationId": "CreateAuthenticationProvider",
        "tags": [
          "Authentication Providers"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationProviderCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AuthenticationProvider"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/authentication_providers/{id}": {
      "delete": {
        "summary": "Deletes an authentication provider",
        "deprecated": false,
        "description": "Deletes an existing authentication provider.",
        "operationId": "DeleteAuthenticationProvider",
        "tags": [
          "Authentication Providers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "authentication provider ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AuthenticationProvider"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "422": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve an authentication provider",
        "deprecated": false,
        "description": "Retrieves the details of an existing authentication provider.",
        "operationId": "GetAuthenticationProvider",
        "tags": [
          "Authentication Providers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "authentication provider ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AuthenticationProvider"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "422": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update an authentication provider",
        "deprecated": false,
        "description": "Updates settings of an existing authentication provider.",
        "operationId": "UpdateAuthenticationProvider",
        "tags": [
          "Authentication Providers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAuthenticationProviderRequest"
              },
              "example": {
                "name": "Okta",
                "short_name": "myorg",
                "active": true,
                "settings": {
                  "idp_entity_id": "https://myorg.myidp.com/saml/metadata",
                  "idp_sso_target_url": "https://myorg.myidp.com/trust/saml2/http-post/sso",
                  "idp_cert_fingerprint": "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7",
                  "idp_cert_fingerprint_algorithm": "sha1"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AuthenticationProvider"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "422": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/available_phone_number_blocks": {
      "get": {
        "summary": "List available phone number blocks",
        "operationId": "ListAvailablePhoneNumberBlocks",
        "tags": [
          "Phone Number Search"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[locality], filter[country_code], filter[national_destination_code], filter[phone_number_type]",
            "schema": {
              "type": "object",
              "properties": {
                "locality": {
                  "type": "string",
                  "description": "Filter phone numbers by city."
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter phone numbers by country."
                },
                "national_destination_code": {
                  "type": "string",
                  "description": "Filter by the national destination code of the number."
                },
                "phone_number_type": {
                  "type": "string",
                  "enum": [
                    "local",
                    "toll_free",
                    "mobile",
                    "national",
                    "shared_cost"
                  ],
                  "description": "Filter phone numbers by number type."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAvailablePhoneNumbersBlockResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/available_phone_numbers": {
      "get": {
        "summary": "List available phone numbers",
        "operationId": "ListAvailablePhoneNumbers",
        "tags": [
          "Phone Number Search"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "heavy",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number], filter[locality], filter[administrative_area], filter[country_code], filter[national_destination_code], filter[rate_center], filter[phone_number_type], filter[features], filter[limit], filter[best_effort], filter[quickship], filter[reservable], filter[exclude_held_numbers]",
            "schema": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "object",
                  "description": "Filter phone numbers by pattern matching.",
                  "properties": {
                    "starts_with": {
                      "type": "string",
                      "description": "Filter numbers starting with a pattern (excludes NDC if used with `national_destination_code` filter)."
                    },
                    "ends_with": {
                      "type": "string",
                      "description": "Filter numbers ending with a pattern (excludes NDC if used with `national_destination_code` filter)."
                    },
                    "contains": {
                      "type": "string",
                      "description": "Filter numbers containing a pattern (excludes NDC if used with `national_destination_code` filter)."
                    }
                  },
                  "additionalProperties": false
                },
                "locality": {
                  "type": "string",
                  "description": "Filter phone numbers by city."
                },
                "administrative_area": {
                  "type": "string",
                  "description": "Find numbers in a particular US state or CA province."
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter phone numbers by country."
                },
                "national_destination_code": {
                  "type": "string",
                  "description": "Filter by the national destination code of the number."
                },
                "rate_center": {
                  "type": "string",
                  "description": "Filter phone numbers by rate center. This filter is only applicable to USA and Canada numbers."
                },
                "phone_number_type": {
                  "type": "string",
                  "enum": [
                    "local",
                    "toll_free",
                    "mobile",
                    "national",
                    "shared_cost"
                  ],
                  "description": "Filter phone numbers by number type."
                },
                "features": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "sms",
                      "mms",
                      "voice",
                      "fax",
                      "emergency",
                      "hd_voice",
                      "international_sms",
                      "local_calling"
                    ]
                  },
                  "description": "Filter phone numbers with specific features."
                },
                "limit": {
                  "type": "integer",
                  "description": "Limits the number of results."
                },
                "best_effort": {
                  "type": "boolean",
                  "description": "Filter to determine if best effort results should be included. Only available in USA/CANADA."
                },
                "quickship": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that need additional time after to purchase to activate. Only applicable for +1 toll_free numbers."
                },
                "reservable": {
                  "type": "boolean",
                  "description": "Filter to ensure only numbers that can be reserved are included in the results."
                },
                "exclude_held_numbers": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that are currently on hold/reserved for your account."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAvailablePhoneNumbersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/balance": {
      "get": {
        "summary": "Get user balance details",
        "operationId": "GetUserBalance",
        "tags": [
          "Billing"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserBalanceResponse"
          },
          "403": {
            "$ref": "#/components/responses/billing_ForbiddenErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/billing_UnprocessableEntityErrorResponse"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailableErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/billing_groups": {
      "get": {
        "summary": "List all billing groups",
        "deprecated": false,
        "description": "",
        "operationId": "ListBillingGroups",
        "tags": [
          "Billing Groups"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "description": "The page number to load"
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 250,
                  "default": 20,
                  "description": "The size of the page"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A paginated array of billing groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BillingGroup"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "$ref": "#/components/responses/BadRequestErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a billing group",
        "deprecated": false,
        "description": "",
        "operationId": "CreateBillingGroup",
        "tags": [
          "Billing Groups"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewBillingGroup"
              },
              "example": {
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Expected billing group response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BillingGroup"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "409": {
            "$ref": "#/components/responses/ConflictErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/billing_groups/{id}": {
      "delete": {
        "summary": "Delete a billing group",
        "deprecated": false,
        "description": "",
        "operationId": "DeleteBillingGroup",
        "tags": [
          "Billing Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the billing group",
            "required": true,
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected billing group response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BillingGroup"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a billing group",
        "deprecated": false,
        "description": "",
        "operationId": "GetBillingGroup",
        "tags": [
          "Billing Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the billing group",
            "required": true,
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected billing group response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BillingGroup"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a billing group",
        "deprecated": false,
        "description": "",
        "operationId": "UpdateBillingGroup",
        "tags": [
          "Billing Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the billing group",
            "required": true,
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBillingGroup"
              },
              "example": {
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Expected billing group response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BillingGroup"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bulk_sim_card_actions": {
      "get": {
        "operationId": "ListBulkSimCardActions",
        "summary": "List bulk SIM card actions",
        "description": "This API lists a paginated collection of bulk SIM card actions. A bulk SIM card action contains details about a collection of individual SIM card actions.",
        "tags": [
          "SIM Card Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[action_type]",
            "description": "Filter by action type.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "bulk_disable_voice",
                "bulk_enable_voice",
                "bulk_set_public_ips"
              ],
              "example": "bulk_set_public_ips"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BulkSIMCardActionCollectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bulk_sim_card_actions/{id}": {
      "get": {
        "operationId": "GetBulkSimCardAction",
        "summary": "Get bulk SIM card action details",
        "description": "This API fetches information about a bulk SIM card action. A bulk SIM card action contains details about a collection of individual SIM card actions.",
        "tags": [
          "SIM Card Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BulkSIMCardActionDetailedResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/billing_bundles": {
      "get": {
        "tags": [
          "Bundles"
        ],
        "summary": "Retrieve Bundles",
        "description": "Get all allowed bundles.",
        "operationId": "GetUserBillingBundles",
        "parameters": [
          {
            "$ref": "#/components/parameters/bundle-pricing_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/bundle-pricing_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedBillingBundlesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bundle-pricing_BadRequestErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/billing_bundles/{bundle_id}": {
      "get": {
        "tags": [
          "Bundles"
        ],
        "summary": "Get Bundle By Id",
        "description": "Get a single bundle by ID.",
        "operationId": "GetBillingBundleById",
        "parameters": [
          {
            "$ref": "#/components/parameters/BundleId"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingBundleResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/bundle-pricing_NotFoundErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/user_bundles": {
      "get": {
        "tags": [
          "User Bundles"
        ],
        "summary": "Get User Bundles",
        "operationId": "GetUserBundles",
        "description": "Get a paginated list of user bundles.",
        "parameters": [
          {
            "$ref": "#/components/parameters/bundle-pricing_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/bundle-pricing_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedUserBundlesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bundle-pricing_BadRequestErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/user_bundles/bulk": {
      "post": {
        "summary": "Create User Bundles",
        "description": "Creates multiple user bundles for the user.",
        "operationId": "CreateUserBundlesBulk",
        "parameters": [
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "tags": [
          "User Bundles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserBundlesBulkRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedUserBundlesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bundle-pricing_BadRequestErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/bundle-pricing_NotFoundErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/bundle-pricing_UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/user_bundles/unused": {
      "get": {
        "tags": [
          "User Bundles"
        ],
        "summary": "Get Unused User Bundles",
        "description": "Returns all user bundles that aren't in use.",
        "operationId": "GetUnusedUserBundles",
        "parameters": [
          {
            "$ref": "#/components/parameters/bundle-pricing_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnusedUserBundlesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bundle-pricing_BadRequestErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/user_bundles/{user_bundle_id}": {
      "delete": {
        "tags": [
          "User Bundles"
        ],
        "summary": "Deactivate User Bundle",
        "description": "Deactivates a user bundle by its ID.",
        "operationId": "DeactivateUserBundle",
        "parameters": [
          {
            "$ref": "#/components/parameters/UserBundleId"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBundleCreateResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/bundle-pricing_NotFoundErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/bundle-pricing_UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "User Bundles"
        ],
        "summary": "Get User Bundle by Id",
        "description": "Retrieves a user bundle by its ID.",
        "operationId": "GetUserBundleById",
        "parameters": [
          {
            "$ref": "#/components/parameters/UserBundleId"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBundleResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/bundle-pricing_NotFoundErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/bundle_pricing/user_bundles/{user_bundle_id}/resources": {
      "get": {
        "tags": [
          "User Bundles"
        ],
        "summary": "Get User Bundle Resources",
        "description": "Retrieves the resources of a user bundle by its ID.",
        "operationId": "GetUserBundleResources",
        "parameters": [
          {
            "$ref": "#/components/parameters/UserBundleId"
          },
          {
            "$ref": "#/components/parameters/AuthorizationBearer"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBundleResourcesResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/bundle-pricing_NotFoundErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/bundle-pricing_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/call_control_applications": {
      "get": {
        "description": "Return a list of call control applications.",
        "summary": "List call control applications",
        "operationId": "ListCallControlApplications",
        "tags": [
          "Call Control Applications"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/call-control_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListCallControlApplicationsResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Create a call control application",
        "description": "Create a call control application.",
        "operationId": "CreateCallControlApplication",
        "tags": [
          "Call Control Applications"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "description": "Create call control application request.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCallControlApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CallControlApplicationResponse"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/call_control_applications/{id}": {
      "delete": {
        "description": "Deletes a call control application.",
        "summary": "Delete a call control application",
        "operationId": "DeleteCallControlApplication",
        "tags": [
          "Call Control Applications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1293384261075731499",
              "x-format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "description": "Retrieves the details of an existing call control application.",
        "summary": "Retrieve a call control application",
        "operationId": "RetrieveCallControlApplication",
        "tags": [
          "Call Control Applications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1293384261075731499",
              "x-format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update a call control application",
        "description": "Updates settings of an existing call control application.",
        "operationId": "UpdateCallControlApplication",
        "tags": [
          "Call Control Applications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1293384261075731499",
              "x-format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Update call control application request.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCallControlApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/call_events": {
      "get": {
        "summary": "List call events",
        "description": "Filters call events by given filter parameters. Events are ordered by `occurred_at`. If filter for `leg_id` or `application_session_id` is not present, it only filters events from the last 24 hours.\n\n**Note**: Only one `filter[occurred_at]` can be passed.\n",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "ListCallEvents",
        "tags": [
          "Debugging"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-control_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListCallEventsResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        }
      }
    },
    "/calls": {
      "post": {
        "summary": "Dial",
        "description": "Dial a number or SIP URI from a given connection. A successful response will include a `call_leg_id` which can be used to correlate the command with subsequent webhooks.\n\n**Expected Webhooks:**\n\n- `call.initiated`\n- `call.answered` or `call.hangup`\n- `call.hold` and `call.unhold` if the call is held/unheld\n- `call.machine.detection.ended` if `answering_machine_detection` was requested\n- `call.machine.greeting.ended` if `answering_machine_detection` was requested to detect the end of machine greeting\n- `call.machine.premium.detection.ended` if `answering_machine_detection=premium` was requested\n- `call.machine.premium.greeting.ended` if `answering_machine_detection=premium` was requested and a beep was detected\n- `call.deepfake_detection.result` if `deepfake_detection` was enabled\n- `call.deepfake_detection.error` if `deepfake_detection` was enabled and an error occurred\n- `streaming.started`, `streaming.stopped` or `streaming.failed` if `stream_url` was set\n\nWhen the `record` parameter is set to `record-from-answer`, the response will include a `recording_id` field.\n",
        "operationId": "DialCall",
        "tags": [
          "Call Commands"
        ],
        "requestBody": {
          "description": "Call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/RetrieveCallStatusResponseWithRecordingId"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailableResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}": {
      "get": {
        "summary": "Retrieve a call status",
        "description": "Returns the status of a call (data is available 10 minutes after call ended).",
        "operationId": "RetrieveCallStatus",
        "tags": [
          "Call Information"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RetrieveCallStatusResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/ai_assistant_add_messages": {
      "post": {
        "summary": "Add messages to AI Assistant",
        "description": "Add messages to the conversation started by an AI assistant on the call.",
        "operationId": "CallAddMessagesToAIAssistant",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "AI Assistant add messages request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIAssistantAddMessagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/ai_assistant_join": {
      "post": {
        "summary": "Join AI Assistant Conversation",
        "description": "Add a participant to an existing AI assistant conversation. Use this command to bring an additional call leg into a running AI conversation.",
        "operationId": "CallJoinAIAssistant",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "AI Assistant Join request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIAssistantJoinRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponseWithConversationId"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/ai_assistant_start": {
      "post": {
        "summary": "Start AI Assistant",
        "description": "Start an AI assistant on the call.\n\n**Expected Webhooks:**\n\n- `call.conversation.ended`\n- `call.conversation_insights.generated`\n",
        "operationId": "CallStartAIAssistant",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "AI Assistant request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIAssistantStartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponseWithConversationId"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/ai_assistant_stop": {
      "post": {
        "summary": "Stop AI Assistant",
        "description": "Stop an AI assistant on the call.",
        "operationId": "CallStopAIAssistant",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "AI Assistant request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIAssistantStopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/answer": {
      "post": {
        "summary": "Answer call",
        "description": "Answer an incoming call. You must issue this command before executing subsequent commands on an incoming call.\n\n**Expected Webhooks:**\n\n- `call.answered`\n- `call.hold` and `call.unhold` if the call is held/unheld\n- `call.deepfake_detection.result` if `deepfake_detection` was enabled\n- `call.deepfake_detection.error` if `deepfake_detection` was enabled and an error occurred\n- `streaming.started`, `streaming.stopped` or `streaming.failed` if `stream_url` was set\n\nWhen the `record` parameter is set to `record-from-answer`, the response will include a `recording_id` field.\n",
        "operationId": "AnswerCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Answer call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnswerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponseWithRecordingId"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/bridge": {
      "post": {
        "summary": "Bridge calls",
        "description": "Bridge two call control calls.\n\n**Expected Webhooks:**\n\n- `call.bridged` for Leg A\n- `call.bridged` for Leg B\n",
        "operationId": "BridgeCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Bridge call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BridgeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/client_state_update": {
      "put": {
        "summary": "Update client state",
        "description": "Updates client state",
        "operationId": "UpdateClientState",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Updates client state for every subsequent webhook",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientStateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/conversation_relay_start": {
      "post": {
        "summary": "Start Conversation Relay",
        "description": "Start a Conversation Relay session on an active call. Conversation Relay connects the call audio to your WebSocket so your application can exchange realtime messages with the caller while Telnyx handles speech recognition and text-to-speech. Only one AI Assistant or Conversation Relay session can be active on a call at a time.\n\n**Expected Webhooks:**\n\n- `call.conversation.ended` - Sent when the Conversation Relay session ends. If the customer WebSocket disconnects, the webhook payload `reason` is `customer_disconnect`.\n",
        "operationId": "CallStartConversationRelay",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Conversation Relay start request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationRelayStartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponseWithConversationRelayId"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/conversation_relay_stop": {
      "post": {
        "summary": "Stop Conversation Relay",
        "description": "Stop the active Conversation Relay session on a call.",
        "operationId": "CallStopConversationRelay",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Conversation Relay stop request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationRelayStopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/enqueue": {
      "post": {
        "summary": "Enqueue call",
        "description": "Put the call in a queue.",
        "operationId": "EnqueueCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Enqueue call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnqueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/fork_start": {
      "post": {
        "summary": "Forking start",
        "description": "Call forking allows you to stream the media from a call to a specific target in realtime. \nThis stream can be used to enable realtime audio analysis to support a \nvariety of use cases, including fraud detection, or the creation of AI-generated audio responses. \nRequests must specify either the `target` attribute or the `rx` and `tx` attributes.\n\n**Expected Webhooks:**\n\n- `call.fork.started`\n- `call.fork.stopped`\n\n",
        "operationId": "StartCallFork",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Fork media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartForkingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/fork_stop": {
      "post": {
        "summary": "Forking stop",
        "description": "Stop forking a call.\n\n**Expected Webhooks:**\n\n- `call.fork.stopped`\n",
        "operationId": "StopCallFork",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop forking media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopForkingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/gather": {
      "post": {
        "summary": "Gather",
        "description": "Gather DTMF signals to build interactive menus.\n\nYou can pass a list of valid digits. The `Answer` command must be issued before the `gather` command.\n\n**Expected Webhooks:**\n\n- `call.dtmf.received` (you may receive many of these webhooks)\n- `call.gather.ended`\n",
        "operationId": "GatherCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Gather",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GatherRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/gather_stop": {
      "post": {
        "summary": "Gather stop",
        "description": "Stop current gather.\n\n**Expected Webhooks:**\n\n- `call.gather.ended`\n",
        "operationId": "StopCallGather",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop current gather",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopGatherRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/gather_using_ai": {
      "post": {
        "summary": "Gather using AI",
        "description": "Gather parameters defined in the request payload using a voice assistant.\n\n You can pass parameters described as a JSON Schema object and the voice assistant will attempt to gather these informations. \n\n**Expected Webhooks:**\n\n- `call.ai_gather.ended`\n- `call.conversation.ended`\n- `call.ai_gather.partial_results` (if `send_partial_results` is set to `true`)\n- `call.ai_gather.message_history_updated` (if `send_message_history_updates` is set to `true`)\n",
        "operationId": "callGatherUsingAI",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Gather using AI request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GatherUsingAIRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponseWithConversationId"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/gather_using_audio": {
      "post": {
        "summary": "Gather using audio",
        "description": "Play an audio file on the call until the required DTMF signals are gathered to build interactive menus.\n\nYou can pass a list of valid digits along with an 'invalid_audio_url', which will be played back at the beginning of each prompt. Playback will be interrupted when a DTMF signal is received. The `Answer command must be issued before the `gather_using_audio` command.\n\n**Expected Webhooks:**\n\n- `call.playback.started`\n- `call.playback.ended`\n- `call.dtmf.received` (you may receive many of these webhooks)\n- `call.gather.ended`\n",
        "operationId": "GatherUsingAudio",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Gather using audio request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GatherUsingAudioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/gather_using_speak": {
      "post": {
        "summary": "Gather using speak",
        "description": "Convert text to speech and play it on the call until the required DTMF signals are gathered to build interactive menus.\n\nYou can pass a list of valid digits along with an 'invalid_payload', which will be played back at the beginning of each prompt. Speech will be interrupted when a DTMF signal is received. The `Answer` command must be issued before the `gather_using_speak` command.\n\n**Expected Webhooks:**\n\n- `call.dtmf.received` (you may receive many of these webhooks)\n- `call.gather.ended`\n",
        "operationId": "GatherUsingSpeak",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Gather using speak request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GatherUsingSpeakRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/hangup": {
      "post": {
        "summary": "Hangup call",
        "description": "Hang up the call.\n\n**Expected Webhooks:**\n\n- `call.hangup`\n- `call.recording.saved`\n",
        "operationId": "HangupCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Hangup request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HangupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/leave_queue": {
      "post": {
        "summary": "Remove call from a queue",
        "description": "Removes the call from a queue.",
        "operationId": "LeaveQueue",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Removes the call from the queue, the call currently is enqueued in.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveQueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/playback_start": {
      "post": {
        "summary": "Play audio URL",
        "description": "Play an audio file on the call. If multiple play audio commands are issued consecutively,\nthe audio files will be placed in a queue awaiting playback.\n\n*Notes:*\n\n- When `overlay` is enabled, `target_legs` is limited to `self`.\n- A customer cannot Play Audio with `overlay=true` unless there is a Play Audio with `overlay=false` actively playing.\n\n**Expected Webhooks:**\n\n- `call.playback.started`\n- `call.playback.ended`\n",
        "operationId": "StartCallPlayback",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Play audio URL request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayAudioUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/playback_stop": {
      "post": {
        "summary": "Stop audio playback",
        "description": "Stop audio being played on the call.\n\n**Expected Webhooks:**\n\n- `call.playback.ended` or `call.speak.ended`\n",
        "operationId": "StopCallPlayback",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop audio playback request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaybackStopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/record_pause": {
      "post": {
        "summary": "Record pause",
        "description": "Pause recording the call. Recording can be resumed via Resume recording command.\n\n**Expected Webhooks:**\n\nThere are no webhooks associated with this command.\n",
        "operationId": "PauseCallRecording",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Pause recording call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PauseRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/record_resume": {
      "post": {
        "summary": "Record resume",
        "description": "Resume recording the call.\n\n**Expected Webhooks:**\n\nThere are no webhooks associated with this command.\n",
        "operationId": "ResumeCallRecording",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Resume recording call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/record_start": {
      "post": {
        "summary": "Recording start",
        "description": "Start recording the call. Recording will stop on call hang-up, or can be initiated via the Stop Recording command.\n\n**Expected Webhooks:**\n\n- `call.recording.saved`\n- `call.recording.transcription.saved`\n- `call.recording.error`\n",
        "operationId": "StartCallRecord",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Start recording audio request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/record_stop": {
      "post": {
        "summary": "Recording stop",
        "description": "Stop recording the call.\n\n**Expected Webhooks:**\n\n- `call.recording.saved`\n",
        "operationId": "StopCallRecording",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop recording call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/refer": {
      "post": {
        "summary": "SIP Refer a call",
        "description": "Initiate a SIP Refer on a Call Control call. You can initiate a SIP Refer at any point in the duration of a call.\n\n**Expected Webhooks:**\n\n- `call.refer.started`\n- `call.refer.completed`\n- `call.refer.failed`\n",
        "operationId": "ReferCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Refer request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/reject": {
      "post": {
        "summary": "Reject a call",
        "description": "Reject an incoming call.\n\n**Expected Webhooks:**\n\n- `call.hangup`\n",
        "operationId": "RejectCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Reject request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/send_dtmf": {
      "post": {
        "summary": "Send DTMF",
        "description": "Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call.\n\n**Expected Webhooks:**\n\nThere are no webhooks associated with this command.\n",
        "operationId": "SendDTMF",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Send DTMF request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendDTMFRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/send_sip_info": {
      "post": {
        "summary": "Send SIP info",
        "description": "Sends SIP info from this leg.\n\n**Expected Webhooks:**\n\n- `call.sip_info.received` (to be received on the target call leg)\n",
        "operationId": "SendSIPInfo",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Send SIP INFO request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendSIPInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/siprec_start": {
      "post": {
        "summary": "SIPREC start",
        "description": "Start siprec session to configured in SIPREC connector SRS. \n\n**Expected Webhooks:**\n\n- `siprec.started`\n- `siprec.stopped`\n- `siprec.failed`\n",
        "operationId": "StartSiprecSession",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Start siprec session to configured in SIPREC connector SRS.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSiprecRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/siprec_stop": {
      "post": {
        "summary": "SIPREC stop",
        "description": "Stop SIPREC session.\n\n**Expected Webhooks:**\n\n- `siprec.stopped`\n",
        "operationId": "StopSiprecSession",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop siprec session",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopSiprecRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/speak": {
      "post": {
        "summary": "Speak text",
        "description": "Convert text to speech and play it back on the call. If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiting playback.\n\n**Expected Webhooks:**\n\n- `call.speak.started`\n- `call.speak.ended`\n",
        "operationId": "SpeakCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Speak request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SpeakRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/streaming_start": {
      "post": {
        "summary": "Streaming start",
        "description": "Start streaming the media from a call to a specific WebSocket address or Dialogflow connection in near-realtime. Audio will be delivered as base64-encoded RTP payload (raw audio), wrapped in JSON payloads.\n\nPlease find more details about media streaming messages specification under the [link](https://developers.telnyx.com/docs/voice/programmable-voice/media-streaming).",
        "operationId": "StartCallStreaming",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Start streaming media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartStreamingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/streaming_stop": {
      "post": {
        "summary": "Streaming stop",
        "description": "Stop streaming a call to a WebSocket.\n\n**Expected Webhooks:**\n\n- `streaming.stopped`\n",
        "operationId": "StopCallStreaming",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Stop streaming media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopStreamingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/suppression_start": {
      "post": {
        "operationId": "noiseSuppressionStart",
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoiseSuppressionStart"
              }
            }
          },
          "description": "Start noise suppression request",
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "summary": "Noise Suppression Start (BETA)",
        "tags": [
          "Call Commands"
        ],
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/suppression_stop": {
      "post": {
        "operationId": "noiseSuppressionStop",
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoiseSuppressionStop"
              }
            }
          },
          "description": "Stop noise suppression request",
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "summary": "Noise Suppression Stop (BETA)",
        "tags": [
          "Call Commands"
        ],
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/switch_supervisor_role": {
      "post": {
        "summary": "Switch supervisor role",
        "description": "Switch the supervisor role for a bridged call. This allows switching between different supervisor modes during an active call",
        "operationId": "SwitchSupervisorRole",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Switch supervisor role request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwitchSupervisorRoleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/transcription_start": {
      "post": {
        "summary": "Transcription start",
        "description": "Start real-time transcription. Transcription will stop on call hang-up, or can be initiated via the Transcription stop command.\n\n**Expected Webhooks:**\n\n- `call.transcription`\n",
        "operationId": "StartCallTranscription",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Transcription start request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TranscriptionStartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/transcription_stop": {
      "post": {
        "summary": "Transcription stop",
        "description": "Stop real-time transcription.",
        "operationId": "StopCallTranscription",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Transcription stop request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TranscriptionStopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/calls/{call_control_id}/actions/transfer": {
      "post": {
        "summary": "Transfer call",
        "description": "Transfer a call to a new destination. If the transfer is unsuccessful, a `call.hangup` webhook for the other call (Leg B) will be sent indicating that the transfer could not be completed. The original call will remain active and may be issued additional commands, potentially transfering the call to an alternate destination.\n\n**Expected Webhooks:**\n\n- `call.initiated`\n- `call.bridged` to Leg B\n- `call.answered` or `call.hangup`\n- `call.machine.detection.ended` if `answering_machine_detection` was requested\n- `call.machine.greeting.ended` if `answering_machine_detection` was requested to detect the end of machine greeting\n- `call.machine.premium.detection.ended` if `answering_machine_detection=premium` was requested\n- `call.machine.premium.greeting.ended` if `answering_machine_detection=premium` was requested and a beep was detected\n",
        "operationId": "TransferCall",
        "tags": [
          "Call Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Transfer call request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferCallRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CallControlCommandResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/channel_zones": {
      "get": {
        "summary": "List your voice channels for non-US zones",
        "description": "Returns the non-US voice channels for your account. voice channels allow you to use Channel Billing for calls to your Telnyx phone numbers. Please check the <a href=\"https://support.telnyx.com/en/articles/8428806-global-channel-billing\">Telnyx Support Articles</a> section for full information and examples of how to utilize Channel Billing.",
        "operationId": "GetChannelZones",
        "tags": [
          "Voice Channels"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/voice-channels_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetGcbChannelZonesRequestResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/channel_zones/{channel_zone_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GcbChannelZoneId"
        }
      ],
      "put": {
        "summary": "Update voice channels for non-US Zones",
        "description": "Update the number of Voice Channels for the Non-US Zones. This allows your account to handle multiple simultaneous inbound calls to Non-US numbers. Use this endpoint to increase or decrease your capacity based on expected call volume.",
        "operationId": "PatchChannelZone",
        "tags": [
          "Voice Channels"
        ],
        "requestBody": {
          "description": "Quantity of reserved channels and organizational update option",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channels": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The number of reserved channels"
                  }
                },
                "required": [
                  "channels"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PatchGcbChannelZoneRequestResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "default": {
            "$ref": "#/components/responses/voice-channels_GenericErrorResponse"
          }
        },
        "x-codegen-request-body-name": "body",
        "x-latency-category": "interactive"
      }
    },
    "/charges_breakdown": {
      "get": {
        "summary": "Get monthly charges breakdown",
        "operationId": "GetMonthlyChargesBreakdown",
        "description": "Retrieve a detailed breakdown of monthly charges for phone numbers in a specified date range. The date range cannot exceed 31 days.",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date for the charges breakdown in ISO date format (YYYY-MM-DD)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-05-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date for the charges breakdown in ISO date format (YYYY-MM-DD). If not provided, defaults to start_date + 1 month. The date is exclusive, data for the end_date itself is not included in the report. The interval between start_date and end_date cannot exceed 31 days.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-06-01"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Response format",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json",
              "example": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Monthly charges breakdown",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonthlyChargesBreakdownResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "description": "CSV format of the charges breakdown"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/charges_BadRequestErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/charges_UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/charges_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/charges_summary": {
      "get": {
        "summary": "Get monthly charges summary",
        "operationId": "GetMonthlyChargesSummary",
        "description": "Retrieve a summary of monthly charges for a specified date range. The date range cannot exceed 31 days.",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date for the charges summary in ISO date format (YYYY-MM-DD)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-05-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date for the charges summary in ISO date format (YYYY-MM-DD). The date is exclusive, data for the end_date itself is not included in the report. The interval between start_date and end_date cannot exceed 31 days.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-06-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Monthly charges summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonthlyChargesSummaryResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/charges_BadRequestErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/charges_UnprocessableEntityErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/charges_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/comments": {
      "get": {
        "summary": "Retrieve all comments",
        "operationId": "ListComments",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[comment_record_type], filter[comment_record_id]",
            "schema": {
              "type": "object",
              "properties": {
                "comment_record_type": {
                  "type": "string",
                  "example": "sub_number_order",
                  "enum": [
                    "sub_number_order",
                    "requirement_group"
                  ],
                  "description": "Record type that the comment relates to"
                },
                "comment_record_id": {
                  "type": "string",
                  "example": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576",
                  "description": "ID of the record the comments relate to"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listCommentsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a comment",
        "operationId": "CreateComment",
        "tags": [
          "Phone Number Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Comment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CommentResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/comments/{id}": {
      "get": {
        "summary": "Retrieve a comment",
        "operationId": "RetrieveComment",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The comment ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CommentResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/comments/{id}/read": {
      "patch": {
        "summary": "Mark a comment as read",
        "operationId": "MarkCommentRead",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The comment ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ReadCommentResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/conferences": {
      "get": {
        "x-group-parameters": "true",
        "x-latency-category": "responsive",
        "description": "Lists conferences. Conferences are created on demand, and will expire after all participants have left the conference or after 4 hours regardless of the number of active participants. Conferences are listed in descending order by `expires_at`.",
        "summary": "List conferences",
        "operationId": "ListConferences",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ConferenceRegion"
          },
          {
            "$ref": "#/components/parameters/call-control_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListConferencesResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        }
      },
      "post": {
        "summary": "Create conference",
        "description": "Create a conference from an existing call leg using a `call_control_id` and a conference name. Upon creating the conference, the call will be automatically bridged to the conference. Conferences will expire after all participants have left the conference or after 4 hours regardless of the number of active participants.\n\n**Expected Webhooks:**\n\n- `conference.created`\n- `conference.participant.joined`\n- `conference.participant.left`\n- `conference.ended`\n- `conference.recording.saved`\n- `conference.floor.changed`\n",
        "operationId": "CreateConference",
        "tags": [
          "Conference Commands"
        ],
        "requestBody": {
          "description": "Create a conference",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{conference_id}/participants": {
      "get": {
        "description": "Lists conference participants",
        "summary": "List conference participants",
        "operationId": "ListConferenceParticipants",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "conference_id",
            "description": "Uniquely identifies the conference by id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ConferenceRegion"
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[muted], filter[on_hold], filter[whispering]",
            "schema": {
              "type": "object",
              "properties": {
                "muted": {
                  "type": "boolean",
                  "description": "If present, participants will be filtered to those who are/are not muted"
                },
                "on_hold": {
                  "type": "boolean",
                  "description": "If present, participants will be filtered to those who are/are not put on hold"
                },
                "whispering": {
                  "type": "boolean",
                  "description": "If present, participants will be filtered to those who are whispering or are not"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListParticipantsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}": {
      "get": {
        "summary": "Retrieve a conference",
        "description": "Retrieve an existing conference",
        "operationId": "RetrieveConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ConferenceRegion"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/end": {
      "post": {
        "summary": "End a conference",
        "description": "End a conference and terminate all active participants.",
        "operationId": "EndConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the conference.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EndConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-endpoint-cost": 0.01,
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/gather_using_audio": {
      "post": {
        "summary": "Gather DTMF using audio prompt in a conference",
        "description": "Play an audio file to a specific conference participant and gather DTMF input.",
        "operationId": "ConferenceGatherUsingAudio",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the conference.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceGatherUsingAudioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-endpoint-cost": 0.01,
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/hold": {
      "post": {
        "summary": "Hold conference participants",
        "description": "Hold a list of participants in a conference call",
        "operationId": "HoldConferenceParticipants",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceHoldRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/join": {
      "post": {
        "summary": "Join a conference",
        "description": "Join an existing call leg to a conference. Issue the Join Conference command with the conference ID in the path and the `call_control_id` of the leg you wish to join to the conference as an attribute. The conference can have up to a certain amount of active participants, as set by the `max_participants` parameter in conference creation request. \n\n**Expected Webhooks:**\n\n- `conference.participant.joined`\n- `conference.participant.left`\n",
        "operationId": "JoinConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Join Conference request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JoinConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/leave": {
      "post": {
        "summary": "Leave a conference",
        "description": "Removes a call leg from a conference and moves it back to parked state. \n\n**Expected Webhooks:**\n\n- `conference.participant.left`\n",
        "operationId": "LeaveConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Leave Conference request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeaveConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/mute": {
      "post": {
        "summary": "Mute conference participants",
        "description": "Mute a list of participants in a conference call",
        "operationId": "MuteConferenceParticipants",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceMuteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/play": {
      "post": {
        "summary": "Play audio to conference participants",
        "description": "Play audio to all or some participants on a conference call.",
        "operationId": "PlayConferenceAudio",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferencePlayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/record_pause": {
      "post": {
        "summary": "Conference recording pause",
        "description": "Pause conference recording.",
        "operationId": "PauseConferenceRecording",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Specifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PauseConferenceRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/record_resume": {
      "post": {
        "summary": "Conference recording resume",
        "description": "Resume conference recording.",
        "operationId": "ResumeConferenceRecording",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Specifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeConferenceRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/record_start": {
      "post": {
        "summary": "Conference recording start",
        "description": "Start recording the conference. Recording will stop on conference end, or via the Stop Recording command.\n\n**Expected Webhooks:**\n\n- `conference.recording.saved`",
        "operationId": "StartConferenceRecording",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Specifies the conference to record by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartConferenceRecordingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/record_stop": {
      "post": {
        "summary": "Conference recording stop",
        "description": "Stop recording the conference.\n\n**Expected Webhooks:**\n\n- `conference.recording.saved`\n",
        "operationId": "StopConferenceRecording",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Specifies the conference to stop the recording for by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Stop recording conference request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StopRecordingConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/send_dtmf": {
      "post": {
        "summary": "Send DTMF to conference participants",
        "description": "Send DTMF tones to one or more conference participants.",
        "operationId": "ConferenceSendDTMF",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the conference.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceSendDTMFRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-endpoint-cost": 0.01,
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/speak": {
      "post": {
        "summary": "Speak text to conference participants",
        "description": "Convert text to speech and play it to all or some participants.",
        "operationId": "SpeakTextToConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Specifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceSpeakRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/stop": {
      "post": {
        "summary": "Stop audio being played on the conference",
        "description": "Stop audio being played to all or some participants on a conference call.",
        "operationId": "StopConferenceAudio",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceStopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/unhold": {
      "post": {
        "summary": "Unhold conference participants",
        "description": "Unhold a list of participants in a conference call",
        "operationId": "UnholdConferenceParticipants",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceUnholdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/unmute": {
      "post": {
        "summary": "Unmute conference participants",
        "description": "Unmute a list of participants in a conference call",
        "operationId": "UnmuteConferenceParticipants",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceUnmuteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/actions/update": {
      "post": {
        "summary": "Update conference participant",
        "description": "Update conference participant supervisor_role",
        "operationId": "UpdateConference",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Uniquely identifies the conference by id or name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update Conference request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConferenceCommandResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/conferences/{id}/participants/{participant_id}": {
      "get": {
        "summary": "Retrieve a conference participant",
        "description": "Retrieve details of a specific conference participant by their ID or label.",
        "operationId": "RetrieveConferenceParticipant",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the conference.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "participant_id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the participant by their ID or label.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConferenceParticipantResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-endpoint-cost": 0.01,
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update a conference participant",
        "description": "Update properties of a conference participant.",
        "operationId": "UpdateConferenceParticipant",
        "tags": [
          "Conference Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the conference.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "participant_id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the participant.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConferenceParticipantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConferenceParticipantResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-endpoint-cost": 0.01,
        "x-latency-category": "interactive"
      }
    },
    "/connections": {
      "get": {
        "description": "Returns a list of your connections irrespective of type.",
        "summary": "List connections",
        "operationId": "ListConnections",
        "tags": [
          "Connections"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/connections/{connection_id}/active_calls": {
      "get": {
        "summary": "List all active calls for given connection",
        "description": "Lists all active calls for given connection. Acceptable connections are either SIP connections with webhook_url or xml_request_url, call control or texml. Returned results are cursor paginated.\n",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "ListConnectionActiveCalls",
        "tags": [
          "Call Information"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ConnectionId"
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActiveCallsResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-control_GenericErrorResponse"
          }
        }
      }
    },
    "/connections/{id}": {
      "get": {
        "description": "Retrieves the high-level details of an existing connection. To retrieve specific authentication information, use the endpoint for the specific connection type.",
        "summary": "Retrieve a connection",
        "operationId": "RetrieveConnection",
        "tags": [
          "Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "IP Connection ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/country_coverage": {
      "get": {
        "summary": "Get country coverage",
        "description": "Get country coverage",
        "operationId": "retreiveCountryCoverage",
        "tags": [
          "Country Coverage"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CountryCoverageResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/country_coverage/countries/{country_code}": {
      "get": {
        "parameters": [
          {
            "name": "country_code",
            "in": "path",
            "description": "Country ISO code.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "US"
            }
          }
        ],
        "summary": "Get coverage for a specific country",
        "description": "Get coverage for a specific country",
        "operationId": "retreiveSpecificCountryCoverage",
        "tags": [
          "Country Coverage"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SpecificCountryResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/credential_connections": {
      "get": {
        "description": "Returns a list of your credential connections.",
        "summary": "List credential connections",
        "operationId": "ListCredentialConnections",
        "tags": [
          "Credential Connections"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListCredentialConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a credential connection.",
        "summary": "Create a credential connection",
        "operationId": "CreateCredentialConnection",
        "tags": [
          "Credential Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during credential connection creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CredentialConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/credential_connections/{id}": {
      "delete": {
        "description": "Deletes an existing credential connection.",
        "summary": "Delete a credential connection",
        "operationId": "DeleteCredentialConnection",
        "tags": [
          "Credential Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing credential connection.",
        "summary": "Retrieve a credential connection",
        "operationId": "RetrieveCredentialConnection",
        "tags": [
          "Credential Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing credential connection.",
        "summary": "Update a credential connection",
        "operationId": "UpdateCredentialConnection",
        "tags": [
          "Credential Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a credential connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCredentialConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/credential_connections/{id}/actions/check_registration_status": {
      "post": {
        "description": "Checks the registration_status for a credential connection, (`registration_status`) as well as the timestamp for the last SIP registration event (`registration_status_updated_at`)",
        "summary": "Check a Credential Connection Registration Status",
        "operationId": "CheckRegistrationStatus",
        "tags": [
          "Credential Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RegistrationStatusResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/custom_storage_credentials/{connection_id}": {
      "delete": {
        "summary": "Delete a stored credential",
        "description": "Deletes a stored custom credentials configuration.",
        "operationId": "DeleteCustomStorageCredentials",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_ConnectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "The credentials configuration for connection_id was deleted successfully."
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a stored credential",
        "description": "Returns the information about custom storage credentials.",
        "operationId": "GetCustomStorageCredentials",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_ConnectionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialsResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a custom storage credential",
        "description": "Creates a custom storage credentials configuration.",
        "operationId": "CreateCustomStorageCredentials",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_ConnectionId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateCredentialsRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialsResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "summary": "Update a stored credential",
        "description": "Updates a stored custom credentials configuration.",
        "operationId": "UpdateCustomStorageCredentials",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_ConnectionId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateCredentialsRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CredentialsResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/customer_service_records": {
      "get": {
        "tags": [
          "Customer Service Record"
        ],
        "summary": "List customer service records",
        "description": "List customer service records.",
        "operationId": "ListCustomerServiceRecords",
        "parameters": [
          {
            "$ref": "#/components/parameters/customer_service_record_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/customer_service_record_FilterConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListCustomerServiceRecords"
          },
          "401": {
            "$ref": "#/components/responses/customer_service_record_UnauthorizedErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/customer_service_record_ForbiddenErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/customer_service_record_UnprocessableEntityErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/UnexpectedErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Customer Service Record"
        ],
        "summary": "Create a customer service record",
        "description": "Create a new customer service record for the provided phone number.",
        "operationId": "CreateCustomerServiceRecord",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateCustomerServiceRecord"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateCustomerServiceRecord"
          },
          "401": {
            "$ref": "#/components/responses/customer_service_record_UnauthorizedErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/customer_service_record_ForbiddenErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/customer_service_record_UnprocessableEntityErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/UnexpectedErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/customer_service_records/phone_number_coverages": {
      "post": {
        "tags": [
          "Customer Service Record"
        ],
        "summary": "Verify CSR phone number coverage",
        "description": "Verify the coverage for a list of phone numbers.",
        "operationId": "VerifyPhoneNumberCoverage",
        "requestBody": {
          "$ref": "#/components/requestBodies/VerifyCustomerServiceRecordPhoneNumberCoverage"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ListCustomerServiceRecordPhoneNumberCoverage"
          },
          "401": {
            "$ref": "#/components/responses/customer_service_record_UnauthorizedErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/customer_service_record_ForbiddenErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/customer_service_record_UnprocessableEntityErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/UnexpectedErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/customer_service_records/{customer_service_record_id}": {
      "get": {
        "tags": [
          "Customer Service Record"
        ],
        "summary": "Get a customer service record",
        "description": "Get a specific customer service record.",
        "operationId": "GetCustomerServiceRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathCustomerServiceRecordId"
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/components/responses/ShowCustomerServiceRecord"
          },
          "401": {
            "$ref": "#/components/responses/customer_service_record_UnauthorizedErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/customer_service_record_ForbiddenErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/ResourceNotFoundErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/UnexpectedErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/detail_records": {
      "get": {
        "tags": [
          "Detail Records"
        ],
        "summary": "Search detail records",
        "description": "Search for any detail record across the Telnyx Platform",
        "operationId": "SearchDetailRecords",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Filter records on a given record attribute and value. <br/>Example: filter[status]=delivered. <br/>Required: filter[record_type] must be specified.",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {
                "record_type": {
                  "type": "string",
                  "enum": [
                    "ai-voice-assistant",
                    "amd",
                    "call-control",
                    "conference",
                    "conference-participant",
                    "embedding",
                    "fax",
                    "inference",
                    "inference-speech-to-text",
                    "media_storage",
                    "media-streaming",
                    "messaging",
                    "noise-suppression",
                    "recording",
                    "sip-trunking",
                    "siprec-client",
                    "stt",
                    "tts",
                    "verify",
                    "webrtc",
                    "wireless"
                  ],
                  "description": "Filter by the given record type."
                },
                "date_range": {
                  "type": "string",
                  "enum": [
                    "yesterday",
                    "today",
                    "tomorrow",
                    "last_week",
                    "this_week",
                    "next_week",
                    "last_month",
                    "this_month",
                    "next_month"
                  ],
                  "description": "Filter by the given user-friendly date range. You can specify one of the following enum values, or a dynamic one using this format: last_N_days."
                }
              },
              "required": [
                "record_type"
              ],
              "additionalProperties": true
            },
            "examples": {
              "filter[record_type]=messaging": {
                "value": {
                  "record_type": "messaging"
                },
                "summary": "Searches for messaging detail records"
              },
              "filter[record_type]=verify": {
                "value": {
                  "record_type": "verify"
                },
                "summary": "Searches for verify detail records"
              },
              "filter[date_range]=today": {
                "value": {
                  "record_type": "messaging",
                  "date_range": "today"
                },
                "summary": "Searches for records with timestamp starting at `00:00:00` of the current day"
              },
              "filter[date_range]=yesterday": {
                "value": {
                  "record_type": "messaging",
                  "date_range": "yesterday"
                },
                "summary": "Searches for records with timestamp starting at `00:00:00` of yesterday"
              },
              "filter[date_range]=last_month": {
                "value": {
                  "record_type": "messaging",
                  "date_range": "last_month"
                },
                "summary": "Searches for records with timestamp starting at `00:00:00` on the first day of the month"
              },
              "filter[created_at][gte]=2021-06-22": {
                "value": {
                  "record_type": "messaging",
                  "created_at": {
                    "gte": "2021-06-22"
                  }
                },
                "summary": "Searches for records with `created_at` starting at `2021-06-22`"
              },
              "filter[created_at][lt]=2021-06-23": {
                "value": {
                  "record_type": "messaging",
                  "created_at": {
                    "lt": "2021-06-23"
                  }
                },
                "summary": "Searches for records with `created_at` ending at `2021-06-22`"
              },
              "filter[direction]=inbound": {
                "value": {
                  "record_type": "messaging",
                  "direction": "inbound"
                },
                "summary": "Searches for records which have the property `direction` equal to `inbound`"
              },
              "filter[cld][contains]=456": {
                "value": {
                  "record_type": "messaging",
                  "cld": {
                    "contains": "456"
                  }
                },
                "summary": "Searches for records which have the property `cld` containing the pattern `456`"
              },
              "filter[cld][starts_with]=123": {
                "value": {
                  "record_type": "messaging",
                  "cld": {
                    "starts_with": "123"
                  }
                },
                "summary": "Searches for records which have the property `cld` starting with the prefix `123`"
              },
              "filter[cld][ends_with]=789": {
                "value": {
                  "record_type": "messaging",
                  "cld": {
                    "ends_with": "789"
                  }
                },
                "summary": "Searches for records which have the property `cld` ending with the suffix `789`"
              }
            }
          },
          {
            "name": "sort",
            "description": "Specifies the sort order for results. <br/>Example: sort=-created_at",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "examples": {
              "sort=created_at": {
                "value": [
                  "created_at"
                ],
                "summary": "Sorts search results using the `created_at` date-time in ascending order"
              },
              "sort=-created_at": {
                "value": [
                  "-created_at"
                ],
                "summary": "Sorts search results using the `created_at` date-time in descending order"
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "format": "int32",
                  "default": 1,
                  "minimum": 1,
                  "description": "Page number"
                },
                "size": {
                  "type": "integer",
                  "format": "int32",
                  "default": 20,
                  "minimum": 1,
                  "maximum": 50,
                  "description": "Page size"
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "Default pagination with first page and 20 items per page"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Second page with 20 items per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "First page with maximum 50 items per page"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetailRecordsSearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/detail-records_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      }
    },
    "/dialogflow_connections/{connection_id}": {
      "delete": {
        "summary": "Delete stored Dialogflow Connection",
        "description": "Deletes a stored Dialogflow Connection.",
        "operationId": "DeleteDialogflowConnection",
        "tags": [
          "Dialogflow Integration"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/media-streaming_ConnectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "The Dialogflow Connection for connection_id was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/media-streaming_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-streaming_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve stored Dialogflow Connection",
        "description": "Return details of the Dialogflow connection associated with the given CallControl connection.",
        "operationId": "GetDialogflowConnection",
        "tags": [
          "Dialogflow Integration"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/media-streaming_ConnectionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DialogflowConnectionResponseBody"
          },
          "404": {
            "$ref": "#/components/responses/media-streaming_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-streaming_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Dialogflow Connection",
        "description": "Save Dialogflow Credentiails to Telnyx, so it can be used with other Telnyx services.",
        "operationId": "CreateDialogflowConnection",
        "tags": [
          "Dialogflow Integration"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/media-streaming_ConnectionId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DialogflowConnectionRequest"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/DialogflowConnectionResponseBody"
          },
          "422": {
            "$ref": "#/components/responses/media-streaming_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-streaming_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "summary": "Update stored Dialogflow Connection",
        "description": "Updates a stored Dialogflow Connection.",
        "operationId": "UpdateDialogflowConnection",
        "tags": [
          "Dialogflow Integration"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/media-streaming_ConnectionId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DialogflowConnectionRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DialogflowConnectionResponseBody"
          },
          "404": {
            "$ref": "#/components/responses/media-streaming_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/media-streaming_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-streaming_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/document_links": {
      "get": {
        "summary": "List all document links",
        "description": "List all documents links ordered by created_at descending.",
        "operationId": "ListDocumentLinks",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterDocumentLinksConsolidated"
          },
          {
            "$ref": "#/components/parameters/documents_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListDocServiceDocumentLinksResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/documents": {
      "get": {
        "summary": "List all documents",
        "description": "List all documents ordered by created_at descending.",
        "operationId": "ListDocuments",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterDocumentsConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortDocumentsConsolidated"
          },
          {
            "$ref": "#/components/parameters/documents_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListDocServiceDocumentsResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      },
      "post": {
        "summary": "Upload a document",
        "description": "Upload a document.<br /><br />Uploaded files must be linked to a service within 30 minutes or they will be automatically deleted.",
        "operationId": "CreateDocument",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDocServiceDocumentRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CreateMultiPartDocServiceDocumentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocServiceDocumentResponse"
          },
          "422": {
            "$ref": "#/components/responses/documents_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/documents/{id}": {
      "delete": {
        "summary": "Delete a document",
        "description": "Delete a document.<br /><br />A document can only be deleted if it's not linked to a service. If it is linked to a service, it must be unlinked prior to deleting.",
        "operationId": "DeleteDocument",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocServiceDocumentResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      },
      "get": {
        "summary": "Retrieve a document",
        "description": "Retrieve a document.",
        "operationId": "RetrieveDocument",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocServiceDocumentResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      },
      "patch": {
        "summary": "Update a document",
        "description": "Update a document.",
        "operationId": "UpdateDocument",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocServiceDocument"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocServiceDocumentResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/documents/{id}/download": {
      "get": {
        "summary": "Download a document",
        "description": "Download a document.",
        "operationId": "DownloadDocument",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DownloadDocServiceDocumentResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/documents/{id}/download_link": {
      "get": {
        "summary": "Generate a temporary download link for a document",
        "description": "Generates a temporary pre-signed URL that can be used to download the document directly from the storage backend without authentication.",
        "operationId": "getDocumentDownloadLink",
        "x-latency-category": "responsive",
        "tags": [
          "Documents"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the document",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "550e8400-e29b-41d4-a716-446655440000"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully generated download link",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "required": [
                        "url"
                      ],
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "description": "Pre-signed temporary URL for downloading the document",
                          "example": "https://s3.amazonaws.com/bucket/path/to/document?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=..."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/ResourceNotFound"
          },
          "422": {
            "$ref": "#/components/responses/documents_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/dynamic_emergency_addresses": {
      "get": {
        "summary": "List dynamic emergency addresses",
        "description": "Returns the dynamic emergency addresses according to filters",
        "operationId": "ListDynamicEmergencyAddresses",
        "tags": [
          "Dynamic Emergency Addresses"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[country_code]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "activated",
                    "rejected"
                  ],
                  "description": "Filter by status."
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter by country code."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/emergency_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listDynamicEmergencyAddresses"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a dynamic emergency address.",
        "description": "Creates a dynamic emergency address.",
        "operationId": "CreateDynamicEmergencyAddress",
        "tags": [
          "Dynamic Emergency Addresses"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicEmergencyAddress"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/DynamicEmergencyAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/dynamic_emergency_addresses/{id}": {
      "delete": {
        "summary": "Delete a dynamic emergency address",
        "description": "Deletes the dynamic emergency address based on the ID provided",
        "operationId": "DeleteDynamicEmergencyAddress",
        "tags": [
          "Dynamic Emergency Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Dynamic Emergency Address id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DynamicEmergencyAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a dynamic emergency address",
        "description": "Returns the dynamic emergency address based on the ID provided",
        "operationId": "GetDynamicEmergencyAddress",
        "tags": [
          "Dynamic Emergency Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Dynamic Emergency Address id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DynamicEmergencyAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/dynamic_emergency_endpoints": {
      "get": {
        "summary": "List dynamic emergency endpoints",
        "description": "Returns the dynamic emergency endpoints according to filters",
        "operationId": "ListDynamicEmergencyEndpoints",
        "tags": [
          "Dynamic Emergency Endpoints"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/emergency_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[country_code]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "activated",
                    "rejected"
                  ],
                  "description": "Filter by status."
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter by country code."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listDynamicEmergencyEndpoints"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a dynamic emergency endpoint.",
        "description": "Creates a dynamic emergency endpoints.",
        "operationId": "CreateDynamicEmergencyEndpoint",
        "tags": [
          "Dynamic Emergency Endpoints"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicEmergencyEndpoint"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/DynamicEmergencyEndpointResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/dynamic_emergency_endpoints/{id}": {
      "delete": {
        "summary": "Delete a dynamic emergency endpoint",
        "description": "Deletes the dynamic emergency endpoint based on the ID provided",
        "operationId": "DeleteDynamicEmergencyEndpoint",
        "tags": [
          "Dynamic Emergency Endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Dynamic Emergency Endpoint id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DynamicEmergencyEndpointResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a dynamic emergency endpoint",
        "description": "Returns the dynamic emergency endpoint based on the ID provided",
        "operationId": "GetDynamicEmergencyEndpoint",
        "tags": [
          "Dynamic Emergency Endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Dynamic Emergency Endpoint id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DynamicEmergencyEndpointResponse"
          },
          "400": {
            "$ref": "#/components/responses/emergency_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/emergency_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/emergency_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/emergency_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/emergency_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises": {
      "get": {
        "summary": "List enterprises",
        "operationId": "ListEnterprises",
        "tags": [
          "Enterprises"
        ],
        "description": "Retrieve a paginated list of enterprises associated with your account.",
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "description": "Page number (1-indexed)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "Number of items per page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "legal_name",
            "in": "query",
            "description": "Filter by legal name (partial match)",
            "schema": {
              "type": "string",
              "example": "Acme"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of enterprises",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterpriseListPublic"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create an enterprise",
        "operationId": "CreateEnterprise",
        "tags": [
          "Enterprises"
        ],
        "description": "Create a new enterprise for Branded Calling / Number Reputation services.\n\nRegisters the enterprise in the Branded Calling / Number Reputation services, enabling it to create Display Identity Records (DIRs) or enroll in Number Reputation monitoring.\n\n**Required Fields:** `legal_name`, `doing_business_as`, `organization_type`, `country_code`, `website`, `fein`, `industry`, `number_of_employees`, `organization_legal_type`, `organization_contact`, `billing_contact`, `organization_physical_address`, `billing_address`",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnterpriseCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Enterprise created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterprisePublicWrapped"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest",
            "description": "Bad request — invalid input, validation error, or duplicate legal_name"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises/{enterprise_id}": {
      "delete": {
        "summary": "Delete an enterprise",
        "operationId": "DeleteEnterprise",
        "tags": [
          "Enterprises"
        ],
        "description": "Delete an enterprise and all associated resources. This action is irreversible.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "responses": {
          "204": {
            "description": "Enterprise deleted successfully"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get an enterprise",
        "operationId": "GetEnterprise",
        "tags": [
          "Enterprises"
        ],
        "description": "Retrieve details of a specific enterprise by ID.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "responses": {
          "200": {
            "description": "Enterprise details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterprisePublicWrapped"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "summary": "Update an enterprise",
        "operationId": "UpdateEnterprise",
        "tags": [
          "Enterprises"
        ],
        "description": "Update enterprise information. All fields are optional — only the provided fields will be updated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnterpriseUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Enterprise updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterprisePublicWrapped"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises/{enterprise_id}/reputation": {
      "delete": {
        "summary": "Disable Number Reputation",
        "operationId": "DisableReputationSettings",
        "tags": [
          "Number Reputation Settings"
        ],
        "description": "Disable Number Reputation for an enterprise.\n\nThis will:\n- Delete the reputation settings record\n- Log the deletion for audit purposes\n- Stop all future automated reputation checks\n\n**Note:** Can only be performed on `approved` reputation settings.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "responses": {
          "204": {
            "description": "Reputation settings disabled successfully"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get reputation settings",
        "operationId": "GetReputationSettings",
        "tags": [
          "Number Reputation Settings"
        ],
        "description": "Retrieve the current Number Reputation settings for an enterprise.\n\nReturns the enrollment status (`pending`, `approved`, `rejected`, `deleted`), check frequency, and any rejection reasons.\n\nReturns `404` if reputation has not been enabled for this enterprise.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "responses": {
          "200": {
            "description": "Reputation settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterpriseReputationPublicWrapped"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "description": "Reputation settings not found for this enterprise",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/branded-calling_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Enable Number Reputation",
        "operationId": "EnableReputationSettings",
        "tags": [
          "Number Reputation Settings"
        ],
        "description": "Enable Number Reputation service for an enterprise.\n\n**Requirements:**\n- Signed LOA (Letter of Authorization) document ID\n- Reputation check frequency (defaults to `business_daily`)\n- Number Reputation Terms of Service must be accepted\n\n**Flow:**\n1. Registers the enterprise for reputation monitoring\n2. Creates reputation settings with `pending` status\n3. Awaits admin approval before monitoring begins\n\n**Resubmission After Rejection:**\nIf a previously rejected record exists, this endpoint will delete it and create a new `pending` record.\n\n**Available Frequencies:**\n- `business_daily` — Monday–Friday\n- `daily` — Every day\n- `weekly` — Once per week\n- `biweekly` — Once every two weeks\n- `monthly` — Once per month\n- `never` — Manual refresh only",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnterpriseReputationCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Reputation settings created (pending admin approval)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterpriseReputationPublicWrapped"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "description": "Reputation settings already exist for this enterprise",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/branded-calling_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises/{enterprise_id}/reputation/frequency": {
      "patch": {
        "summary": "Update reputation check frequency",
        "operationId": "UpdateReputationFrequency",
        "tags": [
          "Number Reputation Settings"
        ],
        "description": "Update how often reputation data is automatically refreshed.\n\n**Note:** The enterprise must have `approved` reputation settings. Updating frequency on `pending` or `rejected` settings will return an error.\n\n**Available Frequencies:**\n- `business_daily` — Monday–Friday\n- `daily` — Every day including weekends\n- `weekly` — Once per week\n- `biweekly` — Once every two weeks\n- `monthly` — Once per month\n- `never` — Manual refresh only (no automatic checks)",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnterpriseReputationUpdateFrequency"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Reputation frequency updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnterpriseReputationPublicWrapped"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises/{enterprise_id}/reputation/numbers": {
      "get": {
        "summary": "List reputation phone numbers",
        "operationId": "ListReputationNumbers",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "List all phone numbers associated with an enterprise for Number Reputation monitoring.\n\nReturns phone numbers with their cached reputation data (if available). Supports pagination and filtering by phone number.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          },
          {
            "name": "page[number]",
            "in": "query",
            "description": "Page number (1-indexed)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "Number of items per page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "phone_number",
            "in": "query",
            "description": "Filter by specific phone number (E.164 format)",
            "schema": {
              "type": "string",
              "example": "+16035551234"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of phone numbers with reputation data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReputationPhoneNumberListWithReputation"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Associate phone numbers for reputation",
        "operationId": "AssociateReputationNumbers",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "Associate one or more phone numbers with an enterprise for Number Reputation monitoring.\n\n**Validations:**\n- Phone numbers must be in E.164 format (e.g., `+16035551234`)\n- Phone numbers must be in-service and belong to your account (verified via Warehouse)\n- Phone numbers must be US local numbers\n- Phone numbers cannot already be associated with any enterprise\n\n**Note:** This operation is atomic — if any number fails validation, the entire request fails.\n\n**Maximum:** 100 phone numbers per request.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReputationPhoneNumberCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Phone numbers associated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReputationPhoneNumberList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/enterprises/{enterprise_id}/reputation/numbers/{phone_number}": {
      "delete": {
        "summary": "Disassociate a phone number",
        "operationId": "DisassociateReputationNumber",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "Remove a phone number from Number Reputation monitoring for an enterprise.\n\nThe number will no longer be tracked and reputation data will no longer be refreshed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          },
          {
            "$ref": "#/components/parameters/PhoneNumber"
          }
        ],
        "responses": {
          "204": {
            "description": "Phone number disassociated successfully"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get reputation data for a phone number",
        "operationId": "GetPhoneNumberReputation",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "Get detailed reputation data for a specific phone number associated with an enterprise.\n\n**Query Parameters:**\n- `fresh` (default: `false`): When `true`, fetches fresh reputation data (incurs API cost). When `false`, returns cached data. If no cached data exists, fresh data is automatically fetched.\n\n**Returns:**\n- `spam_risk`: Overall spam risk level (`low`, `medium`, `high`)\n- `spam_category`: Spam category classification\n- `maturity_score`: Maturity metric (0–100)\n- `connection_score`: Connection quality metric (0–100)\n- `engagement_score`: Engagement metric (0–100)\n- `sentiment_score`: Sentiment metric (0–100)\n- `last_refreshed_at`: Timestamp of last data refresh",
        "parameters": [
          {
            "$ref": "#/components/parameters/EnterpriseId"
          },
          {
            "$ref": "#/components/parameters/PhoneNumber"
          },
          {
            "name": "fresh",
            "in": "query",
            "description": "When true, fetches fresh reputation data (incurs API cost). When false, returns cached data.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Phone number reputation data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReputationPhoneNumberWithReputation"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "Enterprise is not approved for reputation tracking",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/branded-calling_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Phone number is not associated with this enterprise",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/branded-calling_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections": {
      "get": {
        "description": "This endpoint returns a list of your External Connections inside the 'data' attribute of the response. External Connections are used by Telnyx customers to seamless configure SIP trunking integrations with Telnyx Partners, through External Voice Integrations in Mission Control Portal.",
        "summary": "List all External Connections",
        "operationId": "ListExternalConnections",
        "tags": [
          "External Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterConnectionsConsolidated"
          },
          {
            "$ref": "#/components/parameters/external-voice-integrations_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllExternalConnectionResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a new External Connection based on the parameters sent in the request. The external_sip_connection and outbound voice profile id are required. Once created, you can assign phone numbers to your application using the `/phone_numbers` endpoint.",
        "summary": "Creates an External Connection",
        "operationId": "CreateExternalConnection",
        "tags": [
          "External Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be set when creating a External Connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ExternalConnectionResponse"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/log_messages": {
      "get": {
        "description": "Retrieve a list of log messages for all external connections associated with your account.",
        "summary": "List all log messages",
        "operationId": "ListExternalConnectionLogMessages",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterLogMessagesConsolidated"
          },
          {
            "$ref": "#/components/parameters/external-voice-integrations_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListLogMessagesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/log_messages/{id}": {
      "delete": {
        "description": "Dismiss a log message for an external connection associated with your account.",
        "summary": "Dismiss a log message",
        "operationId": "DeleteExternalConnectionLogMessage",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Dismiss request was successful",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Describes wether or not the operation was successful"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieve a log message for an external connection associated with your account.",
        "summary": "Retrieve a log message",
        "operationId": "GetExternalConnectionLogMessage",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetLogMessageResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}": {
      "delete": {
        "description": "Permanently deletes an External Connection. Deletion may be prevented if the application is in use by phone numbers, is active, or if it is an Operator Connect connection. To remove an Operator Connect integration please contact Telnyx support.",
        "summary": "Deletes an External Connection",
        "operationId": "DeleteExternalConnection",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalConnectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Return the details of an existing External Connection inside the 'data' attribute of the response.",
        "summary": "Retrieve an External Connection",
        "operationId": "GetExternalConnection",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalConnectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing External Connection based on the parameters of the request.",
        "summary": "Update an External Connection",
        "operationId": "UpdateExternalConnection",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "requestBody": {
          "description": "Parameters to be updated for the External Connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExternalConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalConnectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/civic_addresses": {
      "get": {
        "description": "Returns the civic addresses and locations from Microsoft Teams.",
        "summary": "List all civic addresses and locations",
        "operationId": "ListCivicAddresses",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/FilterCivicAddressesConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllCivicAddressesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Unexpected Error"
          },
          "502": {
            "description": "Bad Gateway"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/civic_addresses/{address_id}": {
      "get": {
        "description": "Return the details of an existing Civic Address with its Locations inside the 'data' attribute of the response.",
        "summary": "Retrieve a Civic Address",
        "operationId": "GetExternalConnectionCivicAddress",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/address_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCivicAddressResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Unexpected Error"
          },
          "502": {
            "description": "Bad Gateway"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/locations/{location_id}": {
      "patch": {
        "summary": "Update a location's static emergency address",
        "operationId": "updateLocation",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the external connection",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "location_id",
            "in": "path",
            "required": true,
            "description": "The ID of the location to update",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "static_emergency_address_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "A new static emergency address ID to update the location with"
                  }
                },
                "required": [
                  "static_emergency_address_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Location successfully updated with no associated orders to process",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Location update accepted; associated orders being processed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Location or external connection not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity - Location already has an accepted emergency address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/phone_numbers": {
      "get": {
        "description": "Returns a list of all active phone numbers associated with the given external connection.",
        "summary": "List all phone numbers",
        "operationId": "ListExternalConnectionPhoneNumbers",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/FilterPhoneNumbersConsolidated"
          },
          {
            "$ref": "#/components/parameters/external-voice-integrations_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListExternalConnectionPhoneNumbersResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/phone_numbers/{phone_number_id}": {
      "get": {
        "description": "Return the details of a phone number associated with the given external connection.",
        "summary": "Retrieve a phone number",
        "operationId": "GetExternalConnectionPhoneNumber",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/phone_number_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetExternalConnectionPhoneNumberResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Asynchronously update settings of the phone number associated with the given external connection.",
        "summary": "Update a phone number",
        "operationId": "UpdateExternalConnectionPhoneNumber",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/phone_number_id"
          }
        ],
        "requestBody": {
          "description": "Values that can be set when updating a phone number",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExternalConnectionPhoneNumberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetExternalConnectionPhoneNumberResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/releases": {
      "get": {
        "description": "Returns a list of your Releases for the given external connection. These are automatically created when you change the `connection_id` of a phone number that is currently on Microsoft Teams.",
        "summary": "List all Releases",
        "operationId": "ListExternalConnectionReleases",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/FilterReleasesConsolidated"
          },
          {
            "$ref": "#/components/parameters/external-voice-integrations_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListReleasesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/releases/{release_id}": {
      "get": {
        "description": "Return the details of a Release request and its phone numbers.",
        "summary": "Retrieve a Release request",
        "operationId": "GetExternalConnectionRelease",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/release_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetReleaseResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/uploads": {
      "get": {
        "description": "Returns a list of your Upload requests for the given external connection.",
        "summary": "List all Upload requests",
        "operationId": "ListExternalConnectionUploads",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/FilterUploadsConsolidated"
          },
          {
            "$ref": "#/components/parameters/external-voice-integrations_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListUploadsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a new Upload request to Microsoft teams with the included phone numbers. Only one of civic_address_id or location_id must be provided, not both. The maximum allowed phone numbers for the numbers_ids array is 1000.",
        "summary": "Creates an Upload request",
        "operationId": "CreateExternalConnectionUpload",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "requestBody": {
          "description": "Parameters that can be set when creating an Upload request.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalConnectionUploadRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Create Upload request Response",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Describes wether or not the operation was successful"
                    },
                    "ticket_id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Ticket id of the upload request"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "413": {
            "description": "Payload too large. The maximum allowed phone numbers for the numbers_ids array is 1000."
          },
          "422": {
            "description": "Unprocessable Entity"
          },
          "504": {
            "description": "Gateway Timeout"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/uploads/refresh": {
      "post": {
        "description": "Forces a recheck of the status of all pending Upload requests for the given external connection in the background.",
        "summary": "Refresh the status of all Upload requests",
        "operationId": "RefreshExternalConnectionUploads",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Create Upload request Response",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Describes wether or not the operation was successful"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "409": {
            "description": "Status refresh is still in progress, please wait before calling again"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/uploads/status": {
      "get": {
        "description": "Returns the count of all pending upload requests for the given external connection.",
        "summary": "Get the count of pending upload requests",
        "operationId": "GetExternalConnectionUploadsStatus",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetUploadsStatusResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/uploads/{ticket_id}": {
      "get": {
        "description": "Return the details of an Upload request and its phone numbers.",
        "summary": "Retrieve an Upload request",
        "operationId": "GetExternalConnectionUpload",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/ticket_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetUploadResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/external_connections/{id}/uploads/{ticket_id}/retry": {
      "post": {
        "description": "If there were any errors during the upload process, this endpoint will retry the upload request. In some cases this will reattempt the existing upload request, in other cases it may create a new upload request. Please check the ticket_id in the response to determine if a new upload request was created.",
        "summary": "Retry an Upload request",
        "operationId": "RetryUpload",
        "tags": [
          "External Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/external-voice-integrations_id"
          },
          {
            "$ref": "#/components/parameters/ticket_id"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/GetUploadResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "409": {
            "description": "Order is still in progress, please wait before retrying"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fax_applications": {
      "get": {
        "description": "This endpoint returns a list of your Fax Applications inside the 'data' attribute of the response. You can adjust which applications are listed by using filters. Fax Applications are used to configure how you send and receive faxes using the Programmable Fax API with Telnyx.",
        "summary": "List all Fax Applications",
        "operationId": "ListFaxApplications",
        "tags": [
          "Programmable Fax Applications"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/programmable-fax_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/programmable-fax_SortApplication"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllFaxApplicationsResponse"
          },
          "400": {
            "$ref": "#/components/responses/programmable-fax_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/programmable-fax_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a new Fax Application based on the parameters sent in the request. The application name and webhook URL are required. Once created, you can assign phone numbers to your application using the `/phone_numbers` endpoint.",
        "summary": "Creates a Fax Application",
        "operationId": "CreateFaxApplication",
        "tags": [
          "Programmable Fax Applications"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be set when creating a Fax Application",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFaxApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/FaxApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/programmable-fax_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/programmable-fax_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fax_applications/{id}": {
      "delete": {
        "description": "Permanently deletes a Fax Application. Deletion may be prevented if the application is in use by phone numbers.",
        "summary": "Deletes a Fax Application",
        "operationId": "DeleteFaxApplication",
        "tags": [
          "Programmable Fax Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FaxApplicationResponse"
          },
          "400": {
            "$ref": "#/components/responses/programmable-fax_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/programmable-fax_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Return the details of an existing Fax Application inside the 'data' attribute of the response.",
        "summary": "Retrieve a Fax Application",
        "operationId": "GetFaxApplication",
        "tags": [
          "Programmable Fax Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FaxApplicationResponse"
          },
          "400": {
            "$ref": "#/components/responses/programmable-fax_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/programmable-fax_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing Fax Application based on the parameters of the request.",
        "summary": "Update a Fax Application",
        "operationId": "UpdateFaxApplication",
        "tags": [
          "Programmable Fax Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "requestBody": {
          "description": "Parameters to be updated for the Fax Application",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFaxApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/FaxApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/programmable-fax_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/programmable-fax_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/faxes": {
      "get": {
        "summary": "View a list of faxes",
        "description": "",
        "operationId": "ListFaxes",
        "x-latency-category": "background",
        "tags": [
          "Programmable Fax Commands"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[created_at][gte], filter[created_at][gt], filter[created_at][lte], filter[created_at][lt], filter[direction][eq], filter[from][eq], filter[to][eq]",
            "schema": {
              "type": "object",
              "properties": {
                "created_at": {
                  "type": "object",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2020-02-02T22:25:27.521992Z",
                      "description": "ISO 8601 date time for filtering faxes created after or on that date"
                    },
                    "gt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2020-02-02T22:25:27.521992Z",
                      "description": "ISO 8601 date time for filtering faxes created after that date"
                    },
                    "lte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2020-02-02T22:25:27.521992Z",
                      "description": "ISO 8601 formatted date time for filtering faxes created on or before that date"
                    },
                    "lt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2020-02-02T22:25:27.521992Z",
                      "description": "ISO 8601 formatted date time for filtering faxes created before that date"
                    }
                  },
                  "description": "Date range filtering operations for fax creation timestamp"
                },
                "direction": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "example": "inbound",
                      "description": "The direction, inbound or outbound, for filtering faxes sent from this account"
                    }
                  },
                  "description": "Direction filtering operations"
                },
                "from": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "example": "+13127367276",
                      "description": "The phone number, in E.164 format for filtering faxes sent from this number"
                    }
                  },
                  "description": "From number filtering operations"
                },
                "to": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "example": "+13127367276",
                      "description": "The phone number, in E.164 format for filtering faxes sent to this number"
                    }
                  },
                  "description": "To number filtering operations"
                }
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated pagination parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "example": 2,
                  "description": "Number of fax resources for the single page returned"
                },
                "number": {
                  "type": "integer",
                  "example": 2,
                  "description": "Number of the page to be retrieved"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListFaxesResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        }
      },
      "post": {
        "summary": "Send a fax",
        "operationId": "SendFax",
        "description": "Send a fax. Files have size limits and page count limit validations. If a file is bigger than 50MB or has more than 350 pages it will fail with `file_size_limit_exceeded` and `page_count_limit_exceeded` respectively.\n\n**Supported file formats:**\n\n- PDF (`application/pdf`)\n- TIFF (`application/tiff`, `image/tiff`)\n- JPEG (`image/jpeg`)\n- PNG (`image/png`)\n- Microsoft Word `.doc` (`application/msword`)\n- Microsoft Word `.docx` (`application/vnd.openxmlformats-officedocument.wordprocessingml.document`)\n- Rich Text Format `.rtf` (`application/rtf`)\n- Plain text `.txt` (`text/plain`)\n\n**Expected Webhooks:**\n\n- `fax.queued`\n- `fax.media.processed`\n- `fax.sending.started`\n- `fax.delivered`\n- `fax.failed`",
        "tags": [
          "Programmable Fax Commands"
        ],
        "requestBody": {
          "description": "Send fax request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendFaxRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/SendFaxMultipartRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/SendFaxResponse"
          },
          "422": {
            "$ref": "#/components/responses/programmable-fax_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/faxes/{id}": {
      "delete": {
        "summary": "Delete a fax",
        "operationId": "DeleteFax",
        "tags": [
          "Programmable Fax Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of a fax.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "View a fax",
        "operationId": "ViewFax",
        "tags": [
          "Programmable Fax Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of a fax.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetFaxResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/faxes/{id}/actions/cancel": {
      "post": {
        "summary": "Cancel a fax",
        "description": "Cancel the outbound fax that is in one of the following states: `queued`, `media.processed`, `originated` or `sending` ",
        "operationId": "CancelFax",
        "tags": [
          "Programmable Fax Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of a fax.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/CancelFaxResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/programmable-fax_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/faxes/{id}/actions/refresh": {
      "post": {
        "summary": "Refresh a fax",
        "description": "Refreshes the inbound fax's media_url when it has expired",
        "operationId": "RefreshFax",
        "tags": [
          "Programmable Fax Commands"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of a fax.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RefreshFaxResponse"
          },
          "404": {
            "$ref": "#/components/responses/programmable-fax_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/programmable-fax_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fqdn_connections": {
      "get": {
        "description": "Returns a list of your FQDN connections.",
        "summary": "List FQDN connections",
        "operationId": "ListFqdnConnections",
        "tags": [
          "FQDN Connections"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListFqdnConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a FQDN connection.",
        "summary": "Create an FQDN connection",
        "operationId": "CreateFqdnConnection",
        "tags": [
          "FQDN Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during FQDN connection creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFqdnConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/FqdnConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fqdn_connections/{id}": {
      "delete": {
        "description": "Deletes an FQDN connection.",
        "summary": "Delete an FQDN connection",
        "operationId": "DeleteFqdnConnection",
        "tags": [
          "FQDN Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing FQDN connection.",
        "summary": "Retrieve an FQDN connection",
        "operationId": "RetrieveFqdnConnection",
        "tags": [
          "FQDN Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing FQDN connection.",
        "summary": "Update an FQDN connection",
        "operationId": "UpdateFqdnConnection",
        "tags": [
          "FQDN Connections"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_id"
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a FQDN connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFqdnConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fqdns": {
      "get": {
        "summary": "List FQDNs",
        "description": "Get all FQDNs belonging to the user that match the given filters.",
        "operationId": "ListFqdns",
        "tags": [
          "FQDNs"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[connection_id], filter[fqdn], filter[port], filter[dns_record_type]",
            "schema": {
              "type": "object",
              "properties": {
                "connection_id": {
                  "type": "string",
                  "description": "ID of the FQDN connection to which the FQDN belongs."
                },
                "fqdn": {
                  "type": "string",
                  "example": "example.com",
                  "description": "FQDN represented by the resource."
                },
                "port": {
                  "type": "integer",
                  "example": 5060,
                  "description": "Port to use when connecting to the FQDN."
                },
                "dns_record_type": {
                  "type": "string",
                  "example": "a",
                  "description": "DNS record type used by the FQDN."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListFqdnsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create a new FQDN object.",
        "summary": "Create an FQDN",
        "operationId": "CreateFqdn",
        "tags": [
          "FQDNs"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFqdnRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/FqdnResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/fqdns/{id}": {
      "delete": {
        "description": "Delete an FQDN.",
        "summary": "Delete an FQDN",
        "operationId": "DeleteFqdn",
        "tags": [
          "FQDNs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FqdnId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Return the details regarding a specific FQDN.",
        "summary": "Retrieve an FQDN",
        "operationId": "RetrieveFqdn",
        "tags": [
          "FQDNs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FqdnId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update the details of a specific FQDN.",
        "summary": "Update an FQDN",
        "operationId": "UpdateFqdn",
        "tags": [
          "FQDNs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FqdnId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFqdnRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/FqdnResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_allowed_ports": {
      "get": {
        "summary": "List all Global IP Allowed Ports",
        "description": "List all Global IP Allowed Ports",
        "operationId": "ListGlobalIpAllowedPorts",
        "tags": [
          "Global IPs"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAllowedPortListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_assignment_health": {
      "description": "Global IP Assignment Health Check Metrics over time",
      "get": {
        "summary": "Global IP Assignment Health Check Metrics",
        "operationId": "GetGlobalIpAssignmentHealth",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in], filter[global_ip_assignment_id][in]",
            "schema": {
              "type": "object",
              "properties": {
                "global_ip_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                },
                "global_ip_assignment_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP Assignment ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP Assignment ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpHealthResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_assignments": {
      "get": {
        "summary": "List all Global IP assignments",
        "description": "List all Global IP assignments.",
        "operationId": "ListGlobalIpAssignments",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAssignmentListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Global IP assignment",
        "description": "Create a Global IP assignment.",
        "operationId": "CreateGlobalIpAssignment",
        "tags": [
          "Global IPs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalIpAssignment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/GlobalIpAssignmentResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_assignments/{id}": {
      "delete": {
        "summary": "Delete a Global IP assignment",
        "description": "Delete a Global IP assignment.",
        "operationId": "DeleteGlobalIpAssignment",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAssignmentResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Global IP",
        "description": "Retrieve a Global IP assignment.",
        "operationId": "GetGlobalIpAssignment",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAssignmentResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a Global IP assignment",
        "description": "Update a Global IP assignment.",
        "operationId": "UpdateGlobalIpAssignment",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalIpAssignmentUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAssignmentResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_assignments_usage": {
      "description": "Global IP Assignment Usage Metrics over time",
      "get": {
        "summary": "Global IP Assignment Usage Metrics",
        "operationId": "GetGlobalIpAssignmentUsage",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[global_ip_assignment_id][in], filter[global_ip_id][in]",
            "schema": {
              "type": "object",
              "properties": {
                "global_ip_assignment_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP Assignment ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP Assignment ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                },
                "global_ip_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpAssignmentUsageResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_health_check_types": {
      "get": {
        "summary": "List all Global IP Health check types",
        "description": "List all Global IP Health check types.",
        "operationId": "ListGlobalIpHealthCheckTypes",
        "tags": [
          "Global IPs"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpHealthCheckTypesResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_health_checks": {
      "get": {
        "summary": "List all Global IP health checks",
        "description": "List all Global IP health checks.",
        "operationId": "ListGlobalIpHealthChecks",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpHealthCheckListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Global IP health check",
        "description": "Create a Global IP health check.",
        "operationId": "CreateGlobalIpHealthCheck",
        "tags": [
          "Global IPs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalIPHealthCheck"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/GlobalIpHealthCheckResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_health_checks/{id}": {
      "delete": {
        "summary": "Delete a Global IP health check",
        "description": "Delete a Global IP health check.",
        "operationId": "DeleteGlobalIpHealthCheck",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpHealthCheckResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Global IP health check",
        "description": "Retrieve a Global IP health check.",
        "operationId": "GetGlobalIpHealthCheck",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpHealthCheckResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_latency": {
      "description": "Global IP Latency Metrics over time",
      "get": {
        "summary": "Global IP Latency Metrics",
        "operationId": "GetGlobalIpLatency",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in]",
            "schema": {
              "type": "object",
              "properties": {
                "global_ip_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpLatencyResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_protocols": {
      "get": {
        "summary": "List all Global IP Protocols",
        "description": "List all Global IP Protocols",
        "operationId": "ListGlobalIpProtocols",
        "tags": [
          "Global IPs"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpProtocolListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ip_usage": {
      "description": "Global IP Usage Metrics over time",
      "get": {
        "summary": "Global IP Usage Metrics",
        "operationId": "GetGlobalIpUsage",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in]",
            "schema": {
              "type": "object",
              "properties": {
                "global_ip_id": {
                  "oneOf": [
                    {
                      "type": "string",
                      "description": "Filter by exact Global IP ID"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "in": {
                          "type": "string",
                          "description": "Filter by Global IP ID(s) separated by commas"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpUsageResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ips": {
      "get": {
        "summary": "List all Global IPs",
        "description": "List all Global IPs.",
        "operationId": "ListGlobalIps",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Global IP",
        "description": "Create a Global IP.",
        "operationId": "CreateGlobalIp",
        "tags": [
          "Global IPs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalIP"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/GlobalIpResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/global_ips/{id}": {
      "delete": {
        "summary": "Delete a Global IP",
        "description": "Delete a Global IP.",
        "operationId": "DeleteGlobalIp",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Global IP",
        "description": "Retrieve a Global IP.",
        "operationId": "GetGlobalIp",
        "tags": [
          "Global IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GlobalIpResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/inbound_channels": {
      "get": {
        "summary": "List your voice channels for US Zone",
        "description": "Returns the US Zone voice channels for your account. voice channels allows you to use Channel Billing for calls to your Telnyx phone numbers. Please check the <a href=\"https://support.telnyx.com/en/articles/8428806-global-channel-billing\">Telnyx Support Articles</a> section for full information and examples of how to utilize Channel Billing.",
        "operationId": "ListInboundChannels",
        "tags": [
          "Voice Channels"
        ],
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "description": "voice channels Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "channels": {
                          "type": "integer",
                          "description": "The current number of concurrent channels set for the account",
                          "example": 7
                        },
                        "record_type": {
                          "description": "Identifies the type of the response",
                          "type": "string",
                          "example": "inbound_channels"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update voice channels for US Zone",
        "operationId": "UpdateOutboundChannels",
        "description": "Update the number of Voice Channels for the US Zone. This allows your account to handle multiple simultaneous inbound calls to US numbers. Use this endpoint to increase or decrease your capacity based on expected call volume.",
        "tags": [
          "Voice Channels"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "description": "Voice channels update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "channels"
                ],
                "properties": {
                  "channels": {
                    "type": "integer",
                    "description": "The new number of concurrent channels for the account",
                    "example": 7
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Expected Update response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "channels": {
                          "type": "integer",
                          "description": "The number of channels set for the account",
                          "example": 7
                        },
                        "record_type": {
                          "description": "Identifies the type of the response",
                          "type": "string",
                          "example": "inbound_channels"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "required": [
                          "code",
                          "title"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "string"
                          },
                          "source": {
                            "type": "object",
                            "properties": {
                              "pointer": {
                                "description": "JSON pointer (RFC6901) to the offending entity.",
                                "type": "string"
                              },
                              "parameter": {
                                "description": "Indicates which query parameter caused the error.",
                                "type": "string"
                              }
                            }
                          },
                          "meta": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/inexplicit_number_orders": {
      "get": {
        "summary": "List inexplicit number orders",
        "description": "Get a paginated list of inexplicit number orders.",
        "operationId": "ListInexplicitNumberOrders",
        "tags": [
          "Inexplicit Number Orders"
        ],
        "parameters": [
          {
            "name": "page_number",
            "in": "query",
            "description": "The page number to load",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "The size of the page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/InexplicitNumberOrdersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create an inexplicit number order",
        "description": "Create an inexplicit number order to programmatically purchase phone numbers without specifying exact numbers.",
        "operationId": "CreateInexplicitNumberOrder",
        "tags": [
          "Inexplicit Number Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InexplicitNumberOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/InexplicitNumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/inexplicit_number_orders/{id}": {
      "get": {
        "summary": "Retrieve an inexplicit number order",
        "description": "Get an existing inexplicit number order by ID.",
        "operationId": "RetrieveInexplicitNumberOrder",
        "tags": [
          "Inexplicit Number Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Identifies the inexplicit number order",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/InexplicitNumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/integration_secrets": {
      "get": {
        "tags": [
          "Integration Secrets"
        ],
        "summary": "List integration secrets",
        "description": "Retrieve a list of all integration secrets configured by the user.",
        "operationId": "list_integration_secrets",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "type": "integer",
                  "title": "Page Size",
                  "example": 25
                },
                "number": {
                  "type": "integer",
                  "title": "Page Number",
                  "example": 1
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "First page with 20 results per page"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Second page with 20 results per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "First page with 50 results per page"
              }
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[type]",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "Filter by type",
                  "example": "bearer",
                  "enum": [
                    "bearer",
                    "basic"
                  ]
                }
              }
            },
            "examples": {
              "filter[type]=bearer": {
                "value": {
                  "type": "bearer"
                },
                "summary": "Filter results to only show bearer type secrets"
              },
              "filter[type]=basic": {
                "value": {
                  "type": "basic"
                },
                "summary": "Filter results to only show basic authentication type secrets"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSecretsListData"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/integration-secrets_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Integration Secrets"
        ],
        "summary": "Create a secret",
        "description": "Create a new secret with an associated identifier that can be used to securely integrate with other services.",
        "operationId": "create_integration_secret",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIntegrationSecretRequest"
              },
              "examples": {
                "bearer": {
                  "value": {
                    "identifier": "my_secret",
                    "type": "bearer",
                    "token": "my_secret_value"
                  }
                },
                "basic": {
                  "value": {
                    "identifier": "my_secret",
                    "type": "basic",
                    "username": "my_username",
                    "password": "my_password"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSecretCreatedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/integration-secrets_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/integration_secrets/{id}": {
      "delete": {
        "tags": [
          "Integration Secrets"
        ],
        "summary": "Delete an integration secret",
        "description": "Delete an integration secret given its ID.",
        "operationId": "delete_integration_secret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Secret Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "description": "Secret Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/integration-secrets_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/inventory_coverage": {
      "get": {
        "summary": "Create an inventory coverage request",
        "description": "Creates an inventory coverage request. If locality, npa or national_destination_code is used in groupBy, and no region or locality filters are used, the whole paginated set is returned.",
        "operationId": "CreateInventoryCoverage",
        "tags": [
          "Inventory Level"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[npa], filter[nxx], filter[administrative_area], filter[phone_number_type], filter[country_code], filter[count], filter[features], filter[groupBy]",
            "schema": {
              "type": "object",
              "properties": {
                "npa": {
                  "type": "integer",
                  "description": "Filter by npa"
                },
                "nxx": {
                  "type": "integer",
                  "description": "Filter by nxx"
                },
                "administrative_area": {
                  "type": "string",
                  "description": "Filter by administrative area"
                },
                "phone_number_type": {
                  "type": "string",
                  "description": "Filter by phone number type",
                  "enum": [
                    "local",
                    "toll_free",
                    "national",
                    "mobile",
                    "landline",
                    "shared_cost"
                  ]
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter by country. Defaults to US",
                  "enum": [
                    "AT",
                    "AU",
                    "BE",
                    "BG",
                    "CA",
                    "CH",
                    "CN",
                    "CY",
                    "CZ",
                    "DE",
                    "DK",
                    "EE",
                    "ES",
                    "FI",
                    "FR",
                    "GB",
                    "GR",
                    "HU",
                    "HR",
                    "IE",
                    "IT",
                    "LT",
                    "LU",
                    "LV",
                    "NL",
                    "NZ",
                    "MX",
                    "NO",
                    "PL",
                    "PT",
                    "RO",
                    "SE",
                    "SG",
                    "SI",
                    "SK",
                    "US"
                  ]
                },
                "count": {
                  "type": "boolean",
                  "description": "Include count in the result"
                },
                "features": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "sms",
                      "mms",
                      "voice",
                      "fax",
                      "emergency"
                    ]
                  },
                  "example": [
                    "voice",
                    "sms"
                  ],
                  "description": "Filter if the phone number should be used for voice, fax, mms, sms, emergency. Returns features in the response when used."
                },
                "groupBy": {
                  "type": "string",
                  "description": "Filter to group results",
                  "enum": [
                    "locality",
                    "npa",
                    "national_destination_code"
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/InventoryCoverageResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/invoices": {
      "get": {
        "summary": "List invoices",
        "operationId": "ListInvoices",
        "description": "Retrieve a paginated list of invoices.",
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "period_start",
              "enum": [
                "period_start",
                "-period_start"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "description": "The page number to load"
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 250,
                  "default": 20,
                  "description": "The size of the page"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of invoices",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total_results": {
                          "type": "integer",
                          "example": 20
                        },
                        "total_pages": {
                          "type": "integer",
                          "example": 1
                        },
                        "page_number": {
                          "type": "integer",
                          "example": 1
                        },
                        "page_size": {
                          "type": "integer",
                          "example": 20
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/invoice_ForbiddenErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/invoice_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/invoices/{id}": {
      "get": {
        "summary": "Get invoice by ID",
        "operationId": "GetInvoiceById",
        "description": "Retrieve a single invoice by its unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Invoice UUID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "action",
            "in": "query",
            "description": "Invoice action",
            "required": false,
            "schema": {
              "type": "string",
              "example": "json",
              "enum": [
                "json",
                "link"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/InvoiceDetailResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestErrorResponse"
          },
          "403": {
            "$ref": "#/components/responses/invoice_ForbiddenErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/invoice_NotFoundErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/invoice_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ip_connections": {
      "get": {
        "description": "Returns a list of your IP connections.",
        "summary": "List Ip connections",
        "operationId": "ListIpConnections",
        "tags": [
          "IP Connections"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListIpConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates an IP connection.",
        "summary": "Create an Ip connection",
        "operationId": "CreateIpConnection",
        "tags": [
          "IP Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during IP connection creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIpConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/IpConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ip_connections/{id}": {
      "delete": {
        "description": "Deletes an existing IP connection.",
        "summary": "Delete an Ip connection",
        "operationId": "DeleteIpConnection",
        "tags": [
          "IP Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing ip connection.",
        "summary": "Retrieve an Ip connection",
        "operationId": "RetrieveIpConnection",
        "tags": [
          "IP Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "IP Connection ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing IP connection.",
        "summary": "Update an Ip connection",
        "operationId": "UpdateIpConnection",
        "tags": [
          "IP Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a IP connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ips": {
      "get": {
        "summary": "List Ips",
        "description": "Get all IPs belonging to the user that match the given filters.",
        "operationId": "ListIps",
        "tags": [
          "IPs"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[connection_id], filter[ip_address], filter[port]",
            "schema": {
              "type": "object",
              "properties": {
                "connection_id": {
                  "type": "string",
                  "description": "ID of the IP Connection to which this IP should be attached."
                },
                "ip_address": {
                  "type": "string",
                  "example": "192.168.0.0",
                  "description": "IP adddress represented by this resource."
                },
                "port": {
                  "type": "integer",
                  "example": 5060,
                  "description": "Port to use when connecting to this IP."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListIpsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create a new IP object.",
        "summary": "Create an Ip",
        "operationId": "CreateIp",
        "tags": [
          "IPs"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIpRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/IpResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ips/{id}": {
      "delete": {
        "description": "Delete an IP.",
        "summary": "Delete an Ip",
        "operationId": "DeleteIp",
        "tags": [
          "IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IpId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Return the details regarding a specific IP.",
        "summary": "Retrieve an Ip",
        "operationId": "RetrieveIp",
        "tags": [
          "IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IpId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update the details of a specific IP.",
        "summary": "Update an Ip",
        "operationId": "UpdateIp",
        "tags": [
          "IPs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IpId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIpRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/IpResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ledger_billing_group_reports": {
      "post": {
        "summary": "Create a ledger billing group report",
        "deprecated": false,
        "description": "",
        "operationId": "CreateBillingGroupReport",
        "tags": [
          "Reports"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewLedgerBillingGroupReport"
              },
              "example": {
                "year": 2019,
                "month": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Expected ledger billing group report response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LedgerBillingGroupReport"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "$ref": "#/components/responses/GenericErrorResponse"
          },
          "500": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Errors"
                }
              }
            },
            "headers": {}
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ledger_billing_group_reports/{id}": {
      "get": {
        "summary": "Get a ledger billing group report",
        "deprecated": false,
        "description": "",
        "operationId": "GetBillingGroupReport",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the ledger billing group report",
            "required": true,
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected ledger billing group report response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LedgerBillingGroupReport"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "$ref": "#/components/responses/GenericErrorResponse"
          },
          "500": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Errors"
                }
              }
            },
            "headers": {}
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/messaging": {
      "get": {
        "tags": [
          "MDR Detailed Reports"
        ],
        "summary": "Get all MDR detailed report requests",
        "description": "Retrieves all MDR detailed report requests for the authenticated user",
        "operationId": "getMdrRequests",
        "parameters": [],
        "responses": {
          "200": {
            "description": "MDR detailed report requests retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "MDR Detailed Reports"
        ],
        "summary": "Create a new MDR detailed report request",
        "description": "Creates a new MDR detailed report request with the specified filters",
        "operationId": "submitMdrRequest",
        "parameters": [],
        "requestBody": {
          "description": "MDR detailed report request data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MdrDetailedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "MDR detailed report request created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrPostDetailReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/messaging/{id}": {
      "delete": {
        "tags": [
          "MDR Detailed Reports"
        ],
        "summary": "Delete a MDR detailed report request",
        "description": "Deletes a specific MDR detailed report request by ID",
        "operationId": "deleteMdrRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MDR detailed report request deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrDeleteDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "MDR Detailed Reports"
        ],
        "summary": "Get a specific MDR detailed report request",
        "description": "Retrieves a specific MDR detailed report request by ID",
        "operationId": "getMdrRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MDR detailed report request retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetDetailReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/speech_to_text": {
      "get": {
        "tags": [
          "Speech to Text Batch Reports"
        ],
        "summary": "Get all Speech to Text batch report requests",
        "description": "Retrieves all Speech to Text batch report requests for the authenticated user",
        "operationId": "getSttRequests",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Speech to text batch report requests retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttGetDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Speech to Text Batch Reports"
        ],
        "summary": "Create a new Speech to Text batch report request",
        "description": "Creates a new Speech to Text batch report request with the specified filters",
        "operationId": "submitSttRequest",
        "parameters": [],
        "requestBody": {
          "description": "Speech to Text batch report request data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SttDetailedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Speech to text batch report request created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttPostDetailReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/speech_to_text/{id}": {
      "delete": {
        "tags": [
          "Speech to Text Batch Reports"
        ],
        "summary": "Delete a Speech to Text batch report request",
        "description": "Deletes a specific Speech to Text batch report request by ID",
        "operationId": "deleteSttRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Speech to text batch report request deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttDeleteDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Speech to Text Batch Reports"
        ],
        "summary": "Get a specific Speech to Text batch report request",
        "description": "Retrieves a specific Speech to Text batch report request by ID",
        "operationId": "getSttRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Speech to text batch report request retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttGetDetailReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/voice": {
      "get": {
        "tags": [
          "CDR Reports"
        ],
        "summary": "Get all CDR report requests",
        "description": "Retrieves all CDR report requests for the authenticated user",
        "operationId": "getCdrRequests",
        "parameters": [],
        "responses": {
          "200": {
            "description": "CDR report requests retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrGetDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "CDR Reports"
        ],
        "summary": "Create a new CDR report request",
        "description": "Creates a new CDR report request with the specified filters",
        "operationId": "submitCdrRequest",
        "parameters": [],
        "requestBody": {
          "description": "CDR detailed report request data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CdrDetailedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "CDR report request created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrPostDetailReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/voice/fields": {
      "get": {
        "tags": [
          "CDR Reports"
        ],
        "summary": "Get available CDR report fields",
        "description": "Retrieves all available fields that can be used in CDR reports",
        "operationId": "getCdrsAvailableFields",
        "responses": {
          "200": {
            "description": "Available fields retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrAvailableFieldsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/batch_detail_records/voice/{id}": {
      "delete": {
        "tags": [
          "CDR Reports"
        ],
        "summary": "Delete a CDR report request",
        "description": "Deletes a specific CDR report request by ID",
        "operationId": "deleteCdrRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "CDR report request deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrDeleteDetailReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "CDR Reports"
        ],
        "summary": "Get a specific CDR report request",
        "description": "Retrieves a specific CDR report request by ID",
        "operationId": "getCdrRequest",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "CDR report request retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrGetDetailReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/messaging": {
      "get": {
        "tags": [
          "MDR Usage Reports"
        ],
        "summary": "List MDR usage reports",
        "description": "Fetch all previous requests for MDR usage reports. ",
        "operationId": "getMdrUsageReports",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Size of the page",
            "schema": {
              "maximum": 250,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/standard_MdrGetUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/standard_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "MDR Usage Reports"
        ],
        "summary": "Create a new legacy usage V2 MDR report request",
        "description": "Creates a new legacy usage V2 MDR report request with the specified filters",
        "operationId": "submitMdrUsageReport",
        "requestBody": {
          "description": "MDR detail request data",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/MdrUsageRequestLegacy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "V2 legacy MDR usage report request created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrPostUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/messaging/{id}": {
      "delete": {
        "tags": [
          "MDR Usage Reports"
        ],
        "summary": "Delete a V2 legacy usage MDR report request",
        "description": "Deletes a specific V2 legacy usage MDR report request by ID",
        "operationId": "deleteMdrUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "V2 legacy usage MDR report request deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrDeleteUsageReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "MDR Usage Reports"
        ],
        "summary": "Get an MDR usage report",
        "description": "Fetch single MDR usage report by id.",
        "operationId": "getMdrUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetUsageReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/number_lookup": {
      "get": {
        "tags": [
          "Telco Data Usage Reports"
        ],
        "summary": "List telco data usage reports",
        "description": "Retrieve a paginated list of telco data usage reports",
        "operationId": "getTelcoDataUsageReports",
        "responses": {
          "200": {
            "description": "Successfully retrieved telco data usage reports",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelcoDataGetUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Telco Data Usage Reports"
        ],
        "summary": "Submit telco data usage report",
        "description": "Submit a new telco data usage report",
        "operationId": "submitTelcoDataUsageReport",
        "requestBody": {
          "description": "Telco data usage request data",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/TelcoDataUsageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successfully submitted telco data usage report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelcoDataPostUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "422": {
            "description": "Unprocessable entity"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/number_lookup/{id}": {
      "delete": {
        "tags": [
          "Telco Data Usage Reports"
        ],
        "summary": "Delete telco data usage report",
        "description": "Delete a specific telco data usage report by its ID",
        "operationId": "deleteTelcoDataUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted telco data usage report"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Telco Data Usage Reports"
        ],
        "summary": "Get telco data usage report by ID",
        "description": "Retrieve a specific telco data usage report by its ID",
        "operationId": "getTelcoDataUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved telco data usage report",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelcoDataGetUsageReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/speech_to_text": {
      "get": {
        "tags": [
          "Speech to text Usage Reports"
        ],
        "summary": "Get speech to text usage report",
        "description": "Generate and fetch speech to text usage report synchronously. This endpoint will both generate and fetch the speech to text report over a specified time period. ",
        "operationId": "getSttUsageReportSync",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-02T00:00:00-06:00"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-01T00:00:00-06:00"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/standard_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/voice": {
      "get": {
        "tags": [
          "CDR Usage Reports"
        ],
        "summary": "List CDR usage reports",
        "description": "Fetch all previous requests for cdr usage reports. ",
        "operationId": "getCdrUsageReports",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Size of the page",
            "schema": {
              "maximum": 250,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrGetUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/standard_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "CDR Usage Reports"
        ],
        "summary": "Create a new legacy usage V2 CDR report request",
        "description": "Creates a new legacy usage V2 CDR report request with the specified filters",
        "operationId": "submitCdrUsageReport",
        "requestBody": {
          "description": "Cdr detail request data",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/UsageRequestLegacy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "V2 legacy CDR usage report request created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrPostUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/legacy/reporting/usage_reports/voice/{id}": {
      "delete": {
        "tags": [
          "CDR Usage Reports"
        ],
        "summary": "Delete a V2 legacy usage CDR report request",
        "description": "Deletes a specific V2 legacy usage CDR report request by ID",
        "operationId": "deleteCdrUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "V2 legacy usage CDR report request deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrDeleteUsageReportResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "CDR Usage Reports"
        ],
        "summary": "Get a CDR usage report",
        "description": "Fetch single cdr usage report by id.",
        "operationId": "getCdrUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrGetUsageReportByIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Report not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/list": {
      "get": {
        "summary": "List All Numbers using Channel Billing",
        "description": "Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.",
        "operationId": "GetAllNumbersChannelZones",
        "tags": [
          "Voice Channels"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetGcbNumbersResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/list/{channel_zone_id}": {
      "get": {
        "summary": "List Numbers using Channel Billing for a specific Zone",
        "description": "Retrieve a list of phone numbers using Channel Billing for a specific Zone.",
        "operationId": "GetNumbersChannelZones",
        "tags": [
          "Voice Channels"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/GcbChannelNumberZoneId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetGcbNumbersResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/managed_accounts": {
      "get": {
        "summary": "Lists accounts managed by the current user.",
        "description": "Lists the accounts managed by the current user. Users need to be explictly approved by Telnyx in order to become manager accounts.",
        "operationId": "ListManagedAccounts",
        "tags": [
          "Managed Accounts"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/managed-accounts_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/managed-accounts_Sort"
          },
          {
            "$ref": "#/components/parameters/IncludeCancelledAccounts"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListManagedAccountsResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a new managed account.",
        "description": "Create a new managed account owned by the authenticated user. You need to be explictly approved by Telnyx in order to become a manager account.",
        "operationId": "CreateManagedAccount",
        "tags": [
          "Managed Accounts"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that define the managed account to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManagedAccountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ManagedAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableManagedAccountEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/managed_accounts/allocatable_global_outbound_channels": {
      "get": {
        "summary": "Display information about allocatable global outbound channels for the current user.",
        "description": "Display information about allocatable global outbound channels for the current user. Only usable by account managers.",
        "operationId": "ListAllocatableGlobalOutboundChannels",
        "tags": [
          "Managed Accounts"
        ],
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListManagedAccountsAllocatableGlobalOutboundChannelsResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/managed-accounts_ForbiddenResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/managed_accounts/{id}": {
      "get": {
        "description": "Retrieves the details of a single managed account.",
        "summary": "Retrieve a managed account",
        "operationId": "RetrieveManagedAccount",
        "tags": [
          "Managed Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Managed Account User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ManagedAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update a single managed account.",
        "summary": "Update a managed account",
        "operationId": "UpdateManagedAccount",
        "tags": [
          "Managed Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Managed Account User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that define the updates to the managed account",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManagedAccountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ManagedAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableManagedAccountEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/managed_accounts/{id}/actions/disable": {
      "post": {
        "summary": "Disables a managed account",
        "description": "Disables a managed account, forbidding it to use Telnyx services, including sending or receiving phone calls and SMS messages. Ongoing phone calls will not be affected. The managed account and its sub-users will no longer be able to log in via the mission control portal.",
        "operationId": "DisableManagedAccount",
        "tags": [
          "Managed Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Managed Account User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ManagedAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableManagedAccountEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/managed_accounts/{id}/actions/enable": {
      "post": {
        "summary": "Enables a managed account",
        "description": "Enables a managed account and its sub-users to use Telnyx services.",
        "operationId": "EnableManagedAccount",
        "tags": [
          "Managed Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Managed Account User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Additional parameters for what to do when enabling the managed account",
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reenable_all_connections": {
                    "type": "boolean",
                    "description": "When true, all connections owned by this managed account will automatically be re-enabled. Note: Any connections that do not pass validations will not be re-enabled.",
                    "default": false,
                    "example": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ManagedAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableManagedAccountEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/managed_accounts/{id}/update_global_channel_limit": {
      "patch": {
        "summary": "Update the amount of allocatable global outbound channels allocated to a specific managed account.",
        "description": "Update the amount of allocatable global outbound channels allocated to a specific managed account.",
        "operationId": "UpdateManagedAccountGlobalChannelLimit",
        "tags": [
          "Managed Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Managed Account User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that define the changes to the global outbounds channels for the managed account",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManagedAccountGlobalChannelLimitRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateManagedAccountGlobalChannelLimitResponse"
          },
          "401": {
            "$ref": "#/components/responses/managed-accounts_UnauthorizedResponse"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableManagedAccountEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/media": {
      "get": {
        "summary": "List uploaded media",
        "description": "Returns a list of stored media files.",
        "operationId": "ListMediaStorage",
        "tags": [
          "Media Storage API"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[content_type][]",
            "schema": {
              "type": "object",
              "properties": {
                "content_type": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": "application_xml"
                  },
                  "description": "Filters files by given content types"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMediaResponse"
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Upload media",
        "description": "Upload media file to Telnyx so it can be used with other Telnyx services",
        "operationId": "CreateMediaStorage",
        "tags": [
          "Media Storage API"
        ],
        "requestBody": {
          "description": "Upload media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadMediaRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UploadMediaMultipartRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/MediaResponse"
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/media/{media_name}": {
      "delete": {
        "summary": "Deletes stored media",
        "description": "Deletes a stored media file.",
        "operationId": "DeleteMediaStorage",
        "tags": [
          "Media Storage API"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MediaName"
          }
        ],
        "responses": {
          "204": {
            "description": "The media was deleted successfully."
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "summary": "Retrieve stored media",
        "description": "Returns the information about a stored media file.",
        "operationId": "GetMediaStorage",
        "tags": [
          "Media Storage API"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MediaName"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MediaResponse"
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "put": {
        "summary": "Update stored media",
        "description": "Updates a stored media file.",
        "operationId": "UpdateMediaStorage",
        "tags": [
          "Media Storage API"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MediaName"
          }
        ],
        "requestBody": {
          "description": "Update media request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMediaRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMediaMultipartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MediaResponse"
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/media/{media_name}/download": {
      "get": {
        "summary": "Download stored media",
        "description": "Downloads a stored media file.",
        "operationId": "DownloadMedia",
        "tags": [
          "Media Storage API"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MediaName"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MediaDownloadResponse"
          },
          "401": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/media-storage_GenericErrorResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/messages": {
      "post": {
        "summary": "Send a message",
        "description": "Send a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool.\n\nThis endpoint allows you to send a message with any messaging resource.\nCurrent messaging resources include: long-code, short-code, number-pool, and\nalphanumeric-sender-id.\n",
        "operationId": "SendMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/alphanumeric_sender_id": {
      "post": {
        "summary": "Send a message using an alphanumeric sender ID",
        "description": "Send an SMS message using an alphanumeric sender ID. This is SMS only.",
        "operationId": "SendAlphanumericSenderIdMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "from",
                  "to",
                  "text",
                  "messaging_profile_id"
                ],
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "A valid alphanumeric sender ID on the user's account.",
                    "example": "MyCompany"
                  },
                  "to": {
                    "description": "Receiving address (+E.164 formatted phone number).",
                    "$ref": "#/components/schemas/ToNumber"
                  },
                  "text": {
                    "type": "string",
                    "description": "The message body."
                  },
                  "messaging_profile_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The messaging profile ID to use."
                  },
                  "webhook_url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "url",
                    "description": "Callback URL for delivery status updates."
                  },
                  "webhook_failover_url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "url",
                    "description": "Failover callback URL for delivery status updates."
                  },
                  "use_profile_webhooks": {
                    "type": "boolean",
                    "description": "If true, use the messaging profile's webhook settings."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with the sent message.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutboundMessageResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/messaging_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/messaging_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/group/{message_id}": {
      "get": {
        "summary": "Retrieve group MMS messages",
        "description": "Retrieve all messages in a group MMS conversation by the group message ID.",
        "operationId": "GetGroupMmsMessages",
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The group message ID."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with group MMS messages.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OutboundMessagePayload"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/group_mms": {
      "post": {
        "summary": "Send a group MMS message",
        "operationId": "CreateGroupMmsMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupMMSMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/long_code": {
      "post": {
        "summary": "Send a long code message",
        "operationId": "CreateLongCodeMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLongCodeMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/number_pool": {
      "post": {
        "summary": "Send a message using number pool",
        "operationId": "CreateNumberPoolMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNumberPoolMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/rcs": {
      "post": {
        "tags": [
          "RCS"
        ],
        "summary": "Send an RCS message",
        "operationId": "SendRCSMessage",
        "requestBody": {
          "description": "RCS message body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RCSMessage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/rcs/deeplinks/{agent_id}": {
      "get": {
        "summary": "Generate RCS deeplink",
        "description": "Generate a deeplink URL that can be used to start an RCS conversation with a specific agent.",
        "operationId": "GenerateRCSDeeplink",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "description": "RCS agent ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone_number",
            "in": "query",
            "description": "Phone number in E164 format (URL encoded)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "%2B18445550001"
          },
          {
            "name": "body",
            "in": "query",
            "description": "Pre-filled message body (URL encoded)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "hello%20world"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with deeplink URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSDeeplinkResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/schedule": {
      "post": {
        "summary": "Schedule a message",
        "description": "Schedule a message with a Phone Number, Alphanumeric Sender ID, Short Code or Number Pool.\n\nThis endpoint allows you to schedule a message with any messaging resource.\nCurrent messaging resources include: long-code, short-code, number-pool, and\nalphanumeric-sender-id.\n",
        "operationId": "ScheduleMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload with send_at set",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScheduledMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/short_code": {
      "post": {
        "summary": "Send a short code message",
        "operationId": "CreateShortCodeMessage",
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateShortCodeMessageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessageResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/whatsapp": {
      "post": {
        "x-hidden": true,
        "tags": [
          "Whatsapp messaging"
        ],
        "summary": "Send a Whatsapp message",
        "operationId": "SendWhatsappMessage",
        "requestBody": {
          "description": "Whatsapp message body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappMessage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhatsappResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messages/{id}": {
      "delete": {
        "summary": "Cancel a scheduled message",
        "description": "Cancel a scheduled message that has not yet been sent. Only messages with `status=scheduled` and `send_at` more than a minute from now can be cancelled.",
        "operationId": "CancelMessage",
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the message to cancel",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutboundMessagePayloadCancelled"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a message",
        "description": "Note: This API endpoint can only retrieve messages that are no older than 10 days since their creation. If you require messages older than this, please generate an [MDR report.](https://developers.telnyx.com/api-reference/mdr-usage-reports/create-mdr-usage-report)",
        "operationId": "GetMessage",
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the message",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with details of a message.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/OutboundMessagePayload"
                        },
                        {
                          "$ref": "#/components/schemas/InboundMessagePayload"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging/rcs/agents": {
      "get": {
        "summary": "List all RCS agents",
        "operationId": "ListRCSAgents",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful reponse with the list of RCS agents",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSAgentsResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging/rcs/agents/{id}": {
      "get": {
        "summary": "Retrieve an RCS agent",
        "operationId": "GetRCSAgentById",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "RCS agent ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with the RCS agent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSAgentResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Modify an RCS agent",
        "operationId": "UpdateRCSAgentById",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "RCS agent ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RCSAgentUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with the updated RCS agent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSAgentResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging/rcs/bulk_capabilities": {
      "post": {
        "summary": "Check RCS capabilities (batch)",
        "operationId": "ListRCSCapabilitiesOfAPhoneNumbersBatch",
        "tags": [
          "RCS"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RCSCapabilityListRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSCapabilitiesBulk"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging/rcs/capabilities/{agent_id}/{phone_number}": {
      "get": {
        "summary": "Check RCS capabilities",
        "operationId": "ListRCSCapabilitiesOfAPhoneNumber",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "description": "RCS agent ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone_number",
            "in": "path",
            "description": "Phone number in E164 format",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSCapabilitiesSingle"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging/rcs/test_number_invite/{id}/{phone_number}": {
      "put": {
        "summary": "Add RCS test number",
        "description": "Adds a test phone number to an RCS agent for testing purposes.",
        "operationId": "InviteATestNumberToRCS",
        "tags": [
          "RCS"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "RCS agent ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone_number",
            "in": "path",
            "description": "Phone number in E164 format to invite for testing",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Test number successfully invited to RCS agent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RCSTestNumberInviteResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders": {
      "get": {
        "summary": "List messaging hosted number orders",
        "operationId": "ListMessagingHostedNumberOrders",
        "tags": [
          "Hosted Numbers"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMessagingHostedNumberOrdersResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a messaging hosted number order",
        "operationId": "CreateMessagingHostedNumberOrder",
        "tags": [
          "Hosted Numbers"
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMessagingHostedNumberOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingHostedNumberOrderResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders/eligibility_numbers_check": {
      "post": {
        "summary": "Check hosted messaging eligibility",
        "operationId": "CheckEligibilityNumbers",
        "tags": [
          "Hosted Numbers"
        ],
        "requestBody": {
          "description": "Phone numbers to check eligibility",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EligibilityNumbersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EligibilityNumbersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders/{id}": {
      "delete": {
        "summary": "Delete a messaging hosted number order",
        "description": "Delete a messaging hosted number order and all associated phone numbers.",
        "operationId": "DeleteMessagingHostedNumberOrder",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the messaging hosted number order to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingHostedNumberOrderResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a messaging hosted number order",
        "operationId": "GetMessagingHostedNumberOrder",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingHostedNumberOrderResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders/{id}/actions/file_upload": {
      "post": {
        "summary": "Upload hosted number document",
        "operationId": "UploadMessagingHostedNumberOrderFile",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UploadFileMessagingHostedNumberOrderRequest"
              },
              "encoding": {
                "loa": {
                  "contentType": "application/pdf"
                },
                "bill": {
                  "contentType": "application/pdf"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingHostedNumberOrderResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders/{id}/validation_codes": {
      "post": {
        "summary": "Validate hosted number codes",
        "description": "Validate the verification codes sent to the numbers of the hosted order. The verification codes must be created in the verification codes endpoint.",
        "operationId": "ValidateVerificationCodesForMessagingHostedNumberOrder",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order ID related to the validation codes.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidationCodesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ValidationCodesResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_number_orders/{id}/verification_codes": {
      "post": {
        "summary": "Create hosted number verification codes",
        "description": "Create verification codes to validate numbers of the hosted order. The verification codes will be sent to the numbers of the hosted order.",
        "operationId": "CreateVerificationCodesForMessagingHostedNumberOrder",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order ID to have a verification code created.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Message payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerificationCodesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Verification codes created and sent to the phone numbers of the hosted order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedVerificationCodesResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_numbers": {
      "get": {
        "summary": "List messaging hosted numbers",
        "description": "List all hosted numbers associated with the authenticated user.",
        "operationId": "ListMessagingHostedNumbers",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "filter[messaging_profile_id]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Filter by messaging profile ID."
          },
          {
            "name": "filter[phone_number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by exact phone number."
          },
          {
            "name": "filter[phone_number][contains]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by phone number substring."
          },
          {
            "name": "sort[phone_number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort by phone number."
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with a list of hosted numbers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/messaging_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_hosted_numbers/{id}": {
      "delete": {
        "summary": "Delete a messaging hosted number",
        "operationId": "DeleteMessagingHostedNumber",
        "tags": [
          "Hosted Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingHostedNumberOrderResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a messaging hosted number",
        "description": "Retrieve a specific messaging hosted number by its ID or phone number.",
        "operationId": "GetMessagingHostedNumber",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID or phone number of the hosted number."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with a hosted number.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a messaging hosted number",
        "description": "Update the messaging settings for a hosted number.",
        "operationId": "UpdateMessagingHostedNumber",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID or phone number of the hosted number."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePhoneNumberMessagingSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with the updated hosted number.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_numbers_bulk_updates": {
      "post": {
        "summary": "Bulk update phone number profiles",
        "operationId": "BulkUpdateMessagingSettingsOnPhoneNumbers",
        "tags": [
          "Number Settings"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMessagingSettingsUpdatePhoneNumbersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/BulkMessagingSettingsUpdatePhoneNumbersResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_numbers_bulk_updates/{order_id}": {
      "get": {
        "summary": "Retrieve bulk update status",
        "operationId": "GetBulkUpdateMessagingSettingsOnPhoneNumbersStatus",
        "tags": [
          "Number Settings"
        ],
        "parameters": [
          {
            "name": "order_id",
            "description": "Order ID to verify bulk update status.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BulkMessagingSettingsUpdatePhoneNumbersResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_optouts": {
      "get": {
        "summary": "List opt-outs",
        "description": "Retrieve a list of opt-out blocks.",
        "operationId": "ListOptOuts",
        "tags": [
          "Opt-Out Management"
        ],
        "parameters": [
          {
            "name": "redaction_enabled",
            "in": "query",
            "description": "If receiving address (+E.164 formatted phone number) should be redacted",
            "required": false,
            "example": "+447766****",
            "schema": {
              "type": "string",
              "x-format": "boolean"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[messaging_profile_id], filter[from]",
            "schema": {
              "type": "object",
              "properties": {
                "messaging_profile_id": {
                  "type": "string",
                  "description": "The ID of the messaging profile to retrieve opt-outs for"
                },
                "from": {
                  "type": "string",
                  "description": "The sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code) to retrieve opt-outs for"
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "created_at",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated created_at parameter (deepObject style). Originally: created_at[gte], created_at[lte]",
            "schema": {
              "type": "object",
              "properties": {
                "gte": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Filter opt-outs created after this date (ISO-8601 format)"
                },
                "lte": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Filter opt-outs created before this date (ISO-8601 format)"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with opt-out list data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptOutListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messaging_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profile_metrics": {
      "get": {
        "summary": "List high-level messaging profile metrics",
        "description": "List high-level metrics for all messaging profiles belonging to the authenticated user.",
        "operationId": "GetProfileMetrics",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "time_frame",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MessagingMetricsTimeFrame"
            },
            "description": "The time frame for metrics."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with high-level profile metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ProfileMetricsHighLevel"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/messaging_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/messaging_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles": {
      "get": {
        "summary": "List messaging profiles",
        "operationId": "ListMessagingProfiles",
        "tags": [
          "Profiles"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[name]",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Filter by name"
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter[name][eq]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter profiles by exact name match."
          },
          {
            "name": "filter[name][contains]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter profiles by name containing the given string."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMessagingProfilesResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a messaging profile",
        "operationId": "CreateMessagingProfile",
        "tags": [
          "Profiles"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "description": "New Messaging Profile object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMessagingProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingProfileResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}": {
      "delete": {
        "summary": "Delete a messaging profile",
        "operationId": "DeleteMessagingProfile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MessagingProfileId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingProfileResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a messaging profile",
        "operationId": "RetrieveMessagingProfile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MessagingProfileId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingProfileResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a messaging profile",
        "operationId": "UpdateMessagingProfile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MessagingProfileId"
          }
        ],
        "requestBody": {
          "description": "New Messaging Profile object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMessagingProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingProfileResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}/actions/regenerate_secret": {
      "post": {
        "summary": "Regenerate messaging profile secret",
        "description": "Regenerate the v1 secret for a messaging profile.",
        "operationId": "RegenerateMessagingProfileSecret",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The identifier of the messaging profile."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MessagingProfileResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}/alphanumeric_sender_ids": {
      "get": {
        "summary": "List alphanumeric sender IDs for a messaging profile",
        "description": "List all alphanumeric sender IDs associated with a specific messaging profile.",
        "operationId": "ListProfileAlphanumericSenderIds",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The identifier of the messaging profile."
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAlphanumericSenderIdsResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}/metrics": {
      "get": {
        "summary": "Get detailed messaging profile metrics",
        "description": "Get detailed metrics for a specific messaging profile, broken down by time interval.",
        "operationId": "GetDetailedProfileMetrics",
        "tags": [
          "Messaging"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The identifier of the messaging profile."
          },
          {
            "name": "time_frame",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/MessagingMetricsTimeFrame"
            },
            "description": "The time frame for metrics."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with detailed profile metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ProfileMetrics"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/messaging_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/messaging_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/messaging_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}/phone_numbers": {
      "get": {
        "summary": "List phone numbers associated with a messaging profile",
        "operationId": "ListProfilePhoneNumbers",
        "tags": [
          "Profiles"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/MessagingProfileId"
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMessagingProfilePhoneNumbersResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{id}/short_codes": {
      "get": {
        "summary": "List short codes associated with a messaging profile",
        "operationId": "ListProfileShortCodes",
        "tags": [
          "Profiles"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/MessagingProfileId"
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMessagingProfileShortCodesResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{profile_id}/autoresp_configs": {
      "get": {
        "tags": [
          "Opt-Out Management"
        ],
        "summary": "List Auto-Response Settings",
        "operationId": "GetAutorespConfigs",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Profile Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "profile_id",
            "in": "path"
          },
          {
            "required": false,
            "schema": {
              "title": "Country Code",
              "type": "string"
            },
            "name": "country_code",
            "in": "query"
          },
          {
            "name": "created_at",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated created_at parameter (deepObject style). Originally: created_at[gte], created_at[lte]",
            "schema": {
              "type": "object",
              "properties": {
                "gte": {
                  "title": "Created At[Gte]",
                  "type": "string"
                },
                "lte": {
                  "title": "Created At[Lte]",
                  "type": "string"
                }
              }
            }
          },
          {
            "name": "updated_at",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated updated_at parameter (deepObject style). Originally: updated_at[gte], updated_at[lte]",
            "schema": {
              "type": "object",
              "properties": {
                "gte": {
                  "title": "Updated At[Gte]",
                  "type": "string"
                },
                "lte": {
                  "title": "Updated At[Lte]",
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutorespConfigsResponseSchema"
                },
                "example": {
                  "data": [
                    {
                      "op": "start",
                      "keywords": [
                        "START",
                        "BEGIN"
                      ],
                      "resp_text": "Thank you for subscribing US customer.",
                      "country_code": "US",
                      "id": "677ec1cb-949e-4aeb-a1c3-6d9ddffc1409",
                      "created_at": "2023-03-21T23:37:45.858535+00:00",
                      "updated_at": "2023-03-21T23:37:45.858535+00:00"
                    },
                    {
                      "op": "stop",
                      "keywords": [
                        "END",
                        "STOP"
                      ],
                      "resp_text": "You have unsubscribed.",
                      "country_code": "US",
                      "id": "54b7e19f-98a8-416f-81d1-a2782eade48b",
                      "created_at": "2023-03-10T21:54:46.293380+00:00",
                      "updated_at": "2023-03-10T21:54:46.293380+00:00"
                    },
                    {
                      "op": "start",
                      "keywords": [
                        "START"
                      ],
                      "resp_text": "Thank you for subscribing.",
                      "country_code": "*",
                      "id": "cfe07be1-2369-433f-be00-eb176008e834",
                      "created_at": "2023-03-14T14:46:21.097735+00:00",
                      "updated_at": "2023-03-14T14:46:21.097735+00:00"
                    }
                  ],
                  "meta": {
                    "page_number": 1,
                    "page_size": 5,
                    "total_pages": 1,
                    "total_results": 3
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Opt-Out Management"
        ],
        "summary": "Create auto-response setting",
        "operationId": "CreateAutorespConfig",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Profile Id",
              "type": "string"
            },
            "name": "profile_id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoRespConfigCreateSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutorespConfigResponseSchema"
                },
                "example": {
                  "data": {
                    "op": "start",
                    "keywords": [
                      "START"
                    ],
                    "resp_text": "Hello there!",
                    "country_code": "US",
                    "id": "c2298f86-a4dc-4cac-b6b6-4a3d01c290fa",
                    "created_at": "2023-03-22T00:06:49.068817+00:00",
                    "updated_at": "2023-03-22T00:06:49.068817+00:00"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}": {
      "delete": {
        "tags": [
          "Opt-Out Management"
        ],
        "summary": "Delete Auto-Response Setting",
        "operationId": "DeleteAutorespConfig",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Profile Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "profile_id",
            "in": "path"
          },
          {
            "required": true,
            "schema": {
              "title": "Autoresp Cfg Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "autoresp_cfg_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Opt-Out Management"
        ],
        "summary": "Get Auto-Response Setting",
        "operationId": "GetAutorespConfig",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Profile Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "profile_id",
            "in": "path"
          },
          {
            "required": true,
            "schema": {
              "title": "Autoresp Cfg Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "autoresp_cfg_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutorespConfigResponseSchema"
                },
                "example": {
                  "data": {
                    "op": "start",
                    "keywords": [
                      "UNSTOP"
                    ],
                    "resp_text": "Hello there!",
                    "country_code": "US",
                    "id": "adc37adf-d110-4355-9e9a-262847e68e89",
                    "created_at": "2023-03-13T17:51:03.826453+00:00",
                    "updated_at": "2023-03-13T17:51:03.826453+00:00"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "tags": [
          "Opt-Out Management"
        ],
        "summary": "Update Auto-Response Setting",
        "operationId": "UpdateAutoRespConfig",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Profile Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "profile_id",
            "in": "path"
          },
          {
            "required": true,
            "schema": {
              "title": "Autoresp Cfg Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "autoresp_cfg_id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoRespConfigCreateSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutorespConfigResponseSchema"
                },
                "example": {
                  "data": {
                    "op": "start",
                    "keywords": [
                      "START",
                      "BEGIN"
                    ],
                    "resp_text": "Hello there!",
                    "country_code": "*",
                    "id": "54b7e19f-98a8-416f-81d1-a2782eade48b",
                    "created_at": "2023-03-10T21:54:46.293380+00:00",
                    "updated_at": "2023-03-10T21:54:46.293380+00:00"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_tollfree/verification/requests": {
      "get": {
        "tags": [
          "Verification Requests"
        ],
        "summary": "List Verification Requests",
        "description": "Get a list of previously-submitted tollfree verification requests",
        "operationId": "ListVerificationRequests",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Page",
              "minimum": 1,
              "type": "integer"
            },
            "name": "page",
            "in": "query"
          },
          {
            "description": "\n        Request this many records per page\n\n        This value is automatically clamped if the provided value is too large.\n        ",
            "required": true,
            "schema": {
              "title": "Page Size",
              "minimum": 1,
              "type": "integer",
              "description": "\n        Request this many records per page\n\n        This value is automatically clamped if the provided value is too large.\n        "
            },
            "name": "page_size",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Date Start",
              "type": "string",
              "format": "date-time"
            },
            "name": "date_start",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Date End",
              "type": "string",
              "format": "date-time"
            },
            "name": "date_end",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/TFVerificationStatus"
            },
            "name": "status",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Phone Number",
              "type": "string"
            },
            "name": "phone_number",
            "in": "query"
          },
          {
            "required": false,
            "schema": {
              "title": "Business Name",
              "type": "string"
            },
            "name": "business_name",
            "in": "query",
            "description": "Filter verification requests by business name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Paginated_VerificationRequestStatus_"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Verification Requests"
        ],
        "summary": "Submit Verification Request",
        "description": "Submit a new tollfree verification request",
        "operationId": "SubmitVerificationRequest",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TFVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRequestEgress"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_tollfree/verification/requests/{id}": {
      "delete": {
        "tags": [
          "Verification Requests"
        ],
        "summary": "Delete Verification Request",
        "description": "Delete a verification request\n\nA request may only be deleted when when the request is in the \"rejected\" state.\n\n* `HTTP 200`: request successfully deleted\n* `HTTP 400`: request exists but can't be deleted (i.e. not rejected)\n* `HTTP 404`: request unknown or already deleted",
        "operationId": "DeleteVerificationRequest",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful deleted"
          },
          "404": {
            "description": "Not Found",
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get Verification Request",
        "description": "Get a single verification request by its ID.",
        "operationId": "GetVerificationRequest",
        "tags": [
          "Verification Requests"
        ],
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRequestStatus"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Verification Requests"
        ],
        "summary": "Update Verification Request",
        "description": "Update an existing tollfree verification request. This is particularly useful when there are pending customer actions to be taken.",
        "operationId": "UpdateVerificationRequest",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TFVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRequestEgress"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_tollfree/verification/requests/{id}/status_history": {
      "get": {
        "tags": [
          "Verification Requests"
        ],
        "summary": "Get Verification Request Status History",
        "description": "Get the history of status changes for a verification request.\n\nReturns a paginated list of historical status changes including the reason for each change and when it occurred.",
        "operationId": "GetVerificationStatusHistory",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Id",
              "type": "string",
              "format": "uuid"
            },
            "name": "id",
            "in": "path"
          },
          {
            "required": true,
            "schema": {
              "title": "Page Number",
              "minimum": 1,
              "type": "integer"
            },
            "name": "page[number]",
            "in": "query"
          },
          {
            "required": true,
            "schema": {
              "title": "Page Size",
              "minimum": 1,
              "type": "integer",
              "description": "Request this many records per page. This value is automatically clamped if the provided value is too large."
            },
            "name": "page[size]",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Paginated_VerificationStatusHistoryEntry_"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/toll-free-verification_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/messaging_url_domains": {
      "get": {
        "summary": "List messaging URL domains",
        "operationId": "ListMessagingUrlDomains",
        "tags": [
          "Messaging URL Domains"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListMessagingUrlDomains"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/mobile_network_operators": {
      "get": {
        "summary": "List mobile network operators",
        "description": "Telnyx has a set of GSM mobile operators partners that are available through our mobile network roaming. This resource is entirely managed by Telnyx and may change over time. That means that this resource won't allow any write operations for it. Still, it's available so it can be used as a support resource that can be related to other resources or become a configuration option.",
        "operationId": "GetMobileNetworkOperators",
        "tags": [
          "Mobile Network Operators"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterMobileNetworkOperatorsConsolidated"
          },
          {
            "$ref": "#/components/parameters/wireless_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SearchMobileNetworkOperatorsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/mobile_phone_numbers/messaging": {
      "get": {
        "summary": "List mobile phone numbers with messaging settings",
        "operationId": "ListMobilePhoneNumbersWithMessagingSettings",
        "tags": [
          "Mobile Number Settings"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MobileListPhoneNumbersWithMessagingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/mobile_phone_numbers/{id}/messaging": {
      "get": {
        "summary": "Retrieve a mobile phone number with messaging settings",
        "operationId": "GetMobilePhoneNumberMessagingSettings",
        "tags": [
          "Mobile Number Settings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MobilePhoneNumberWithMessagingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/mobile_push_credentials": {
      "get": {
        "tags": [
          "Push Credentials"
        ],
        "summary": "List mobile push credentials",
        "description": "List mobile push credentials",
        "operationId": "ListPushCredentials",
        "parameters": [
          {
            "$ref": "#/components/parameters/push-notifications_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[type], filter[alias]",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "ios",
                    "android"
                  ],
                  "example": "ios",
                  "description": "type of mobile push credentials"
                },
                "alias": {
                  "type": "string",
                  "example": "LucyCredential",
                  "description": "Unique mobile push credential alias"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mobile mobile push credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPushCredentialsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Push Credentials"
        ],
        "summary": "Creates a new mobile push credential",
        "description": "Creates a new mobile push credential",
        "operationId": "CreatePushCredential",
        "parameters": [],
        "requestBody": {
          "description": "Mobile push credential parameters that need to be sent in the request",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateIosPushCredentialRequest"
                  },
                  {
                    "$ref": "#/components/schemas/CreateAndroidPushCredentialRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Mobile push credential created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PushCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          },
          "422": {
            "description": "Unable to process request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/mobile_push_credentials/{push_credential_id}": {
      "delete": {
        "tags": [
          "Push Credentials"
        ],
        "summary": "Deletes a mobile push credential",
        "description": "Deletes a mobile push credential based on the given `push_credential_id`",
        "operationId": "DeletePushCredentialById",
        "parameters": [
          {
            "name": "push_credential_id",
            "in": "path",
            "description": "The unique identifier of a mobile push credential",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b76-4df3-4bca-a05a-3da1ecc389f0"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The mobile push credential was deleted successfully"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          },
          "422": {
            "description": "Unable to process request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Push Credentials"
        ],
        "summary": "Retrieves a mobile push credential",
        "description": "Retrieves mobile push credential based on the given `push_credential_id`",
        "operationId": "GetPushCredentialById",
        "parameters": [
          {
            "name": "push_credential_id",
            "in": "path",
            "description": "The unique identifier of a mobile push credential",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b76-4df3-4bca-a05a-3da1ecc389f0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful get mobile push credential response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PushCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          },
          "422": {
            "description": "Unable to process request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/push-notifications_Errors"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/network_coverage": {
      "get": {
        "summary": "List network coverage locations",
        "description": "List all locations and the interfaces that region supports",
        "operationId": "ListNetworkCoverage",
        "tags": [
          "Coverage"
        ],
        "parameters": [
          {
            "name": "filters",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filters parameter (deepObject style). Originally: filters[available_services][contains]",
            "schema": {
              "type": "object",
              "properties": {
                "available_services": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AvailableService",
                      "description": "Filter by exact available service match"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "contains": {
                          "$ref": "#/components/schemas/AvailableService",
                          "description": "Filter by available services containing the specified service"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Available service filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[location.region], filter[location.site], filter[location.pop], filter[location.code]",
            "schema": {
              "type": "object",
              "properties": {
                "location.region": {
                  "type": "string",
                  "example": "AMER",
                  "description": "The region of associated location to filter on."
                },
                "location.site": {
                  "type": "string",
                  "example": "SJC",
                  "description": "The site of associated location to filter on."
                },
                "location.pop": {
                  "type": "string",
                  "example": "SV1",
                  "description": "The POP of associated location to filter on."
                },
                "location.code": {
                  "type": "string",
                  "example": "silicon_valley-ca",
                  "description": "The code of associated location to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkCoverageListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/networks": {
      "get": {
        "summary": "List all Networks",
        "description": "List all Networks.",
        "operationId": "ListNetworks",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[name]",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "test network",
                  "description": "The network name to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Network",
        "description": "Create a new Network.",
        "operationId": "CreateNetwork",
        "tags": [
          "Networks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/networks/{id}": {
      "delete": {
        "summary": "Delete a Network",
        "description": "Delete a Network.",
        "operationId": "DeleteNetwork",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Network",
        "description": "Retrieve a Network.",
        "operationId": "GetNetwork",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a Network",
        "description": "Update a Network.",
        "operationId": "UpdateNetwork",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/networks/{id}/default_gateway": {
      "delete": {
        "summary": "Delete Default Gateway.",
        "description": "Delete Default Gateway.",
        "operationId": "DeleteDefaultGateway",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DefaultGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get Default Gateway status.",
        "description": "Get Default Gateway status.",
        "operationId": "GetDefaultGateway",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DefaultGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create Default Gateway.",
        "description": "Create Default Gateway.",
        "operationId": "CreateDefaultGateway",
        "tags": [
          "Networks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DefaultGateway"
              }
            }
          },
          "required": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DefaultGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/networks/{id}/network_interfaces": {
      "get": {
        "summary": "List all Interfaces for a Network.",
        "description": "List all Interfaces for a Network.",
        "operationId": "ListNetworkInterfaces",
        "tags": [
          "Networks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[name], filter[type], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "test interface",
                  "description": "The interface name to filter on."
                },
                "type": {
                  "type": "string",
                  "example": "wireguard_interface",
                  "description": "The interface type to filter on."
                },
                "status": {
                  "$ref": "#/components/schemas/InterfaceStatus",
                  "description": "The interface status to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NetworkInterfaceListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_channels": {
      "get": {
        "description": "List notification channels.",
        "summary": "List notification channels",
        "operationId": "ListNotificationChannels",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/notifications_FilterConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of notification channels.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationChannel"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create a notification channel.",
        "summary": "Create a notification channel",
        "operationId": "CreateNotificationChannels",
        "tags": [
          "Notifications"
        ],
        "requestBody": {
          "description": "Add a Notification Channel",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationChannel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Notification Channel response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationChannel"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_channels/{id}": {
      "delete": {
        "description": "Delete a notification channel.",
        "summary": "Delete a notification channel",
        "operationId": "DeleteNotificationChannel",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Channel response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationChannel"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Get a notification channel.",
        "summary": "Get a notification channel",
        "operationId": "GetNotificationChannel",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Channel response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationChannel"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "404": {
            "$ref": "#/components/responses/notifications_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update a notification channel.",
        "summary": "Update a notification channel",
        "operationId": "UpdateNotificationChannel",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "requestBody": {
          "description": "Update notification channel object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationChannel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Notification Channel response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationChannel"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_event_conditions": {
      "get": {
        "description": "Returns a list of your notifications events conditions.",
        "summary": "List all Notifications Events Conditions",
        "operationId": "FindNotificationsEventsConditions",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/notifications_FilterConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of notification event conditions available.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationEventCondition"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_events": {
      "get": {
        "description": "Returns a list of your notifications events.",
        "summary": "List all Notifications Events",
        "operationId": "FindNotificationsEvents",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of notification events available.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationEvent"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_profiles": {
      "get": {
        "description": "Returns a list of your notifications profiles.",
        "summary": "List all Notifications Profiles",
        "operationId": "FindNotificationsProfiles",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of notification profiles.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationProfile"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create a notification profile.",
        "summary": "Create a notification profile",
        "operationId": "CreateNotificationProfile",
        "tags": [
          "Notifications"
        ],
        "requestBody": {
          "description": "Add a Notification Profile",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationProfile"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Notification Profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationProfile"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_profiles/{id}": {
      "delete": {
        "description": "Delete a notification profile.",
        "summary": "Delete a notification profile",
        "operationId": "DeleteNotificationProfile",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationProfile"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Get a notification profile.",
        "operationId": "GetNotificationProfile",
        "summary": "Get a notification profile",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationProfile"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "404": {
            "$ref": "#/components/responses/notifications_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update a notification profile.",
        "operationId": "UpdateNotificationProfile",
        "summary": "Update a notification profile",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "requestBody": {
          "description": "Update notification profile object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationProfile"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Notification Profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationProfile"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_settings": {
      "get": {
        "description": "List notification settings.",
        "summary": "List notification settings",
        "operationId": "ListNotificationSettings",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/notifications_FilterConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of notification settings.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationSetting"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Add a notification setting.",
        "summary": "Add a Notification Setting",
        "operationId": "CreateNotificationSetting",
        "tags": [
          "Notifications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSetting"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Notification Setting response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationSetting"
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "A Notification Setting response - async",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationSetting"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/notification_settings/{id}": {
      "delete": {
        "description": "Delete a notification setting.",
        "summary": "Delete a notification setting",
        "operationId": "DeleteNotificationSetting",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Setting response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationSetting"
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "A Notification Setting response - async",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationSetting"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Get a notification setting.",
        "summary": "Get a notification setting",
        "operationId": "GetNotificationSetting",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/notifications_Id"
          }
        ],
        "responses": {
          "200": {
            "description": "A Notification Setting response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NotificationSetting"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/notifications_BadRequestResponse"
          },
          "404": {
            "$ref": "#/components/responses/notifications_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/notifications_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/notifications_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_block_orders": {
      "get": {
        "summary": "List number block orders",
        "description": "Get a paginated list of number block orders.",
        "operationId": "ListNumberBlockOrders",
        "tags": [
          "Phone Number Block Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[created_at], filter[phone_numbers.starting_number]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "pending",
                  "description": "Filter number block orders by status."
                },
                "created_at": {
                  "type": "object",
                  "description": "Filter number block orders by date range.",
                  "properties": {
                    "gt": {
                      "type": "string",
                      "example": "2018-01-01T00:00:00.000000Z",
                      "description": "Filter number block orders later than this value."
                    },
                    "lt": {
                      "type": "string",
                      "example": "2018-01-01T00:00:00.000000Z",
                      "description": "Filter number block orders earlier than this value."
                    }
                  },
                  "additionalProperties": false
                },
                "phone_numbers.starting_number": {
                  "type": "string",
                  "example": "+19705555000",
                  "description": "Filter number block  orders having these phone numbers."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListNumberBlockOrdersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a number block order",
        "description": "Creates a phone number block order.",
        "operationId": "CreateNumberBlockOrder",
        "tags": [
          "Phone Number Block Orders"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNumberBlockOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberBlockOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_block_orders/{number_block_order_id}": {
      "get": {
        "summary": "Retrieve a number block order",
        "description": "Get an existing phone number block order.",
        "operationId": "RetrieveNumberBlockOrder",
        "tags": [
          "Phone Number Block Orders"
        ],
        "parameters": [
          {
            "name": "number_block_order_id",
            "in": "path",
            "description": "The number block order ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberBlockOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_lookup/{phone_number}": {
      "get": {
        "summary": "Lookup phone number data",
        "description": "Returns information about the provided phone number.",
        "operationId": "LookupNumber",
        "tags": [
          "Number Lookup"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/number-lookup_PhoneNumber"
          },
          {
            "$ref": "#/components/parameters/NumberLookupType"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberLookupResponse"
          },
          "422": {
            "$ref": "#/components/responses/number-lookup_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/number-lookup_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_order_phone_numbers": {
      "get": {
        "summary": "Retrieve a list of phone numbers associated to orders",
        "description": "Get a list of phone numbers associated to orders.",
        "operationId": "RetrieveOrderPhoneNumbers",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[country_code]",
            "schema": {
              "type": "object",
              "properties": {
                "country_code": {
                  "type": "string",
                  "example": "US",
                  "description": "Country code of the order phone number."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListNumberOrderPhoneNumbersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_order_phone_numbers/{id}/requirement_group": {
      "post": {
        "summary": "Update requirement group for a phone number order",
        "operationId": "updateNumberOrderPhoneNumberRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the number order phone number",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "requirement_group_id"
                ],
                "properties": {
                  "requirement_group_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The ID of the requirement group to associate"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with updated phone number order details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NumberOrderPhoneNumberRequirementGroupResponse"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_order_phone_numbers/{number_order_phone_number_id}": {
      "get": {
        "summary": "Retrieve a single phone number within a number order.",
        "description": "Get an existing phone number in number order.",
        "operationId": "GetNumberOrderPhoneNumber",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "number_order_phone_number_id",
            "in": "path",
            "description": "The number order phone number ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberOrderPhoneNumberResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update requirements for a single phone number within a number order.",
        "description": "Updates requirements for a single phone number within a number order.",
        "operationId": "UpdateNumberOrderPhoneNumber",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "number_order_phone_number_id",
            "in": "path",
            "description": "The number order phone number ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNumberOrderPhoneNumberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberOrderPhoneNumberResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_orders": {
      "get": {
        "summary": "List number orders",
        "description": "Get a paginated list of number orders.",
        "operationId": "ListNumberOrders",
        "tags": [
          "Phone Number Orders"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[created_at], filter[phone_numbers_count], filter[customer_reference], filter[requirements_met]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Filter number orders by status."
                },
                "created_at": {
                  "type": "object",
                  "description": "Filter number orders by date range.",
                  "properties": {
                    "gt": {
                      "type": "string",
                      "description": "Filter number orders later than this value."
                    },
                    "lt": {
                      "type": "string",
                      "description": "Filter number orders earlier than this value."
                    }
                  },
                  "additionalProperties": false
                },
                "phone_numbers_count": {
                  "type": "string",
                  "description": "Filter number order with this amount of numbers"
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter number orders via the customer reference set."
                },
                "requirements_met": {
                  "type": "boolean",
                  "description": "Filter number orders by requirements met."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListNumberOrdersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a number order",
        "description": "Creates a phone number order.",
        "operationId": "CreateNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "x-endpoint-cost": "heavy",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNumberOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_orders/{number_order_id}": {
      "get": {
        "summary": "Retrieve a number order",
        "description": "Get an existing phone number order.",
        "operationId": "RetrieveNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "number_order_id",
            "in": "path",
            "description": "The number order ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a number order",
        "description": "Updates a phone number order.",
        "operationId": "UpdateNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "number_order_id",
            "in": "path",
            "description": "The number order ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNumberOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_reservations": {
      "get": {
        "summary": "List number reservations",
        "description": "Gets a paginated list of phone number reservations.",
        "operationId": "ListNumberReservations",
        "tags": [
          "Phone Number Reservations"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[created_at], filter[phone_numbers.phone_number], filter[customer_reference]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Filter number reservations by status."
                },
                "created_at": {
                  "type": "object",
                  "description": "Filter number reservations by date range.",
                  "properties": {
                    "gt": {
                      "type": "string",
                      "description": "Filter number reservations later than this value."
                    },
                    "lt": {
                      "type": "string",
                      "description": "Filter number reservations earlier than this value."
                    }
                  },
                  "additionalProperties": false
                },
                "phone_numbers.phone_number": {
                  "type": "string",
                  "description": "Filter number reservations having these phone numbers."
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter number reservations via the customer reference set."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListNumberReservationsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a number reservation",
        "description": "Creates a Phone Number Reservation for multiple numbers.",
        "operationId": "CreateNumberReservation",
        "tags": [
          "Phone Number Reservations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNumberReservationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberReservationResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_reservations/{number_reservation_id}": {
      "get": {
        "summary": "Retrieve a number reservation",
        "description": "Gets a single phone number reservation.",
        "operationId": "RetrieveNumberReservation",
        "tags": [
          "Phone Number Reservations"
        ],
        "parameters": [
          {
            "name": "number_reservation_id",
            "in": "path",
            "description": "The number reservation ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberReservationResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/number_reservations/{number_reservation_id}/actions/extend": {
      "post": {
        "summary": "Extend a number reservation",
        "description": "Extends reservation expiry time on all phone numbers.",
        "operationId": "ExtendNumberReservationExpiryTime",
        "tags": [
          "Phone Number Reservations"
        ],
        "parameters": [
          {
            "name": "number_reservation_id",
            "in": "path",
            "description": "The number reservation ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NumberReservationResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/numbers_features": {
      "post": {
        "summary": "Retrieve the features for a list of numbers",
        "description": "Retrieve the features for a list of numbers",
        "operationId": "PostNumbersFeatures",
        "tags": [
          "numbers features"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phone_numbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "phone_numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "phone_number": {
                            "type": "string"
                          },
                          "features": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "phone_number",
                          "features"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "responsive"
      }
    },
    "/oauth/authorize": {
      "get": {
        "operationId": "AuthorizeOAuth",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "OAuth authorization endpoint",
        "description": "OAuth 2.0 authorization endpoint for the authorization code flow",
        "security": [],
        "parameters": [
          {
            "name": "response_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "code"
              ]
            },
            "description": "OAuth response type"
          },
          {
            "name": "client_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "OAuth client identifier"
          },
          {
            "name": "redirect_uri",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Redirect URI"
          },
          {
            "name": "scope",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Space-separated list of requested scopes",
            "example": "admin"
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "State parameter for CSRF protection"
          },
          {
            "name": "code_challenge",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "PKCE code challenge"
          },
          {
            "name": "code_challenge_method",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "plain",
                "S256"
              ]
            },
            "description": "PKCE code challenge method"
          }
        ],
        "responses": {
          "200": {
            "description": "Consent page displayed (when consent UI is embedded)"
          },
          "302": {
            "description": "Redirect to consent page or client with authorization code/error"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Client not found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Invalid redirect URI",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/consent/{consent_token}": {
      "get": {
        "operationId": "GetOAuthConsentToken",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "Get OAuth consent token",
        "description": "Retrieve details about an OAuth consent token",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "consent_token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "OAuth consent token"
          }
        ],
        "responses": {
          "200": {
            "description": "Consent token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentTokenResponse"
                }
              }
            }
          },
          "422": {
            "description": "Invalid consent token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/grants": {
      "post": {
        "operationId": "CreateOAuthGrant",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "Create OAuth grant",
        "description": "Create an OAuth authorization grant",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOAuthGrantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Grant created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateGrantResponse"
                }
              }
            }
          },
          "422": {
            "description": "Invalid consent token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/introspect": {
      "post": {
        "operationId": "IntrospectOAuthToken",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "Token introspection",
        "description": "Introspect an OAuth access token to check its validity and metadata",
        "security": [
          {
            "oauthClientAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/IntrospectRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntrospectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Introspection response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntrospectResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                },
                "example": {
                  "error": "invalid_request"
                }
              }
            }
          },
          "401": {
            "description": "Invalid client credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                },
                "example": {
                  "error": "invalid_client"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/jwks": {
      "get": {
        "operationId": "GetOAuthJWKS",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "JSON Web Key Set",
        "description": "Retrieve the JSON Web Key Set for token verification",
        "security": [],
        "responses": {
          "200": {
            "description": "JSON Web Key Set",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JWKSet"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/register": {
      "post": {
        "operationId": "RegisterOAuthClient",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "Dynamic client registration",
        "description": "Register a new OAuth client dynamically (RFC 7591)",
        "security": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OAuthDynamicRegistrationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Client registered successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthDynamicRegistrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid client metadata",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "invalid_client_metadata"
                    },
                    "error_description": {
                      "type": "string",
                      "example": "The client metadata was invalid"
                    },
                    "invalid_fields": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth/token": {
      "post": {
        "operationId": "ExchangeOAuthToken",
        "tags": [
          "OAuth Protocol"
        ],
        "summary": "OAuth token endpoint",
        "description": "Exchange authorization code, client credentials, or refresh token for access token",
        "security": [
          {
            "oauthClientAuth": []
          },
          {}
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Token response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                },
                "examples": {
                  "invalid_request": {
                    "value": {
                      "error": "invalid_request"
                    }
                  },
                  "invalid_grant": {
                    "value": {
                      "error": "invalid_grant"
                    }
                  },
                  "unsupported_grant_type": {
                    "value": {
                      "error": "unsupported_grant_type"
                    }
                  },
                  "invalid_scope": {
                    "value": {
                      "error": "invalid_scope"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Invalid client credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                },
                "example": {
                  "error": "invalid_client"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth_clients": {
      "get": {
        "operationId": "ListOAuthClients",
        "tags": [
          "OAuth Clients"
        ],
        "summary": "List OAuth clients",
        "description": "Retrieve a paginated list of OAuth clients for the authenticated user",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "page[size]",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "description": "Number of results per page"
          },
          {
            "name": "page[number]",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number"
          },
          {
            "name": "filter[client_type]",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "confidential",
                "public"
              ]
            },
            "description": "Filter by client type"
          },
          {
            "name": "filter[verified]",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by verification status"
          },
          {
            "name": "filter[allowed_grant_types][contains]",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "client_credentials",
                "authorization_code",
                "refresh_token"
              ]
            },
            "description": "Filter by allowed grant type"
          },
          {
            "name": "filter[name]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter by exact client name"
          },
          {
            "name": "filter[name][contains]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter by client name containing text"
          },
          {
            "name": "filter[client_id]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter by client ID"
          }
        ],
        "responses": {
          "200": {
            "description": "List of OAuth clients",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OAuthClient"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/oauth_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "operationId": "CreateOAuthClient",
        "tags": [
          "OAuth Clients"
        ],
        "summary": "Create OAuth client",
        "description": "Create a new OAuth client",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OAuthClientCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OAuth client created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OAuthClient"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth_clients/{id}": {
      "delete": {
        "operationId": "DeleteOAuthClient",
        "tags": [
          "OAuth Clients"
        ],
        "summary": "Delete OAuth client",
        "description": "Delete an OAuth client",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "OAuth client ID"
          }
        ],
        "responses": {
          "204": {
            "description": "OAuth client deleted successfully"
          },
          "404": {
            "description": "OAuth client not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "operationId": "GetOAuthClient",
        "tags": [
          "OAuth Clients"
        ],
        "summary": "Get OAuth client",
        "description": "Retrieve a single OAuth client by ID",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "OAuth client ID"
          }
        ],
        "responses": {
          "200": {
            "description": "OAuth client details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OAuthClient"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "OAuth client not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "operationId": "UpdateOAuthClient",
        "tags": [
          "OAuth Clients"
        ],
        "summary": "Update OAuth client",
        "description": "Update an existing OAuth client",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "OAuth client ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OAuthClientUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OAuth client updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OAuthClient"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "OAuth client not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth_grants": {
      "get": {
        "operationId": "ListOAuthGrants",
        "tags": [
          "OAuth Grants"
        ],
        "summary": "List OAuth grants",
        "description": "Retrieve a paginated list of OAuth grants for the authenticated user",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "page[size]",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "description": "Number of results per page"
          },
          {
            "name": "page[number]",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number"
          }
        ],
        "responses": {
          "200": {
            "description": "List of OAuth grants",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OAuthGrant"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/oauth_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/oauth_grants/{id}": {
      "delete": {
        "operationId": "RevokeOAuthGrant",
        "tags": [
          "OAuth Grants"
        ],
        "summary": "Revoke OAuth grant",
        "description": "Revoke an OAuth grant",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "OAuth grant ID"
          }
        ],
        "responses": {
          "200": {
            "description": "OAuth grant revoked successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OAuthGrant"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "OAuth grant not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "operationId": "GetOAuthGrant",
        "tags": [
          "OAuth Grants"
        ],
        "summary": "Get OAuth grant",
        "description": "Retrieve a single OAuth grant by ID",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "OAuth grant ID"
          }
        ],
        "responses": {
          "200": {
            "description": "OAuth grant details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OAuthGrant"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "OAuth grant not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_Error"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/operator_connect/actions/refresh": {
      "post": {
        "summary": "Refresh Operator Connect integration",
        "description": "This endpoint will make an asynchronous request to refresh the Operator Connect integration with Microsoft Teams for the current user. This will create new external connections on the user's account if needed, and/or report the integration results as [log messages](https://developers.telnyx.com/api-reference/external-connections/list-all-log-messages#list-all-log-messages).",
        "operationId": "OperatorConnectRefresh",
        "tags": [
          "External Connections"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Operator Connect Refresh Response",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Describes wether or not the operation was successful",
                      "example": true
                    },
                    "message": {
                      "type": "string",
                      "description": "A message describing the result of the operation",
                      "example": "Operator connect refresh already in progress"
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Operator Connect Refresh Response",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Describes wether or not the operation was successful",
                      "example": true
                    },
                    "message": {
                      "type": "string",
                      "description": "A message describing the result of the operation",
                      "example": "Operator connect refresh started"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/organizations/users": {
      "get": {
        "description": "Returns a list of the users in your organization.",
        "summary": "List organization users",
        "operationId": "ListOrganizationUsers",
        "tags": [
          "Organization Users"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageNumber"
          },
          {
            "$ref": "#/components/parameters/users_PageSize"
          },
          {
            "$ref": "#/components/parameters/FilterOrganizationUserStatus"
          },
          {
            "$ref": "#/components/parameters/FilterOrganizationUserEmail"
          },
          {
            "$ref": "#/components/parameters/IncludeGroups"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListOrganizationUsersResponse"
          },
          "400": {
            "$ref": "#/components/responses/users_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/users_UnauthorizedResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/organizations/users/users_groups_report": {
      "get": {
        "description": "Returns a report of all users in your organization with their group memberships. This endpoint returns all users without pagination and always includes group information. The report can be retrieved in JSON or CSV format by sending specific content-type headers.",
        "summary": "Get organization users groups report",
        "operationId": "GetOrganizationUsersGroupsReport",
        "tags": [
          "Organization Users"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Specify the response format. Use 'application/json' for JSON format or 'text/csv' for CSV format.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "application/json",
                "text/csv"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UsersGroupsReportResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/users_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/users_NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/organizations/users/{id}": {
      "get": {
        "description": "Returns a user in your organization.",
        "summary": "Get organization user",
        "operationId": "GetOrganizationUser",
        "tags": [
          "Organization Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Organization User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/IncludeGroups"
          }
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrganizationUserResponse"
          },
          "400": {
            "$ref": "#/components/responses/users_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/users_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/users_NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/organizations/users/{id}/actions/remove": {
      "post": {
        "description": "Deletes a user in your organization.",
        "summary": "Delete organization user",
        "operationId": "DeleteOrganizationUser",
        "tags": [
          "Organization Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Organization User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrganizationUserResponse"
          },
          "400": {
            "$ref": "#/components/responses/users_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/users_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/users_NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/ota_updates": {
      "get": {
        "summary": "List OTA updates",
        "operationId": "ListOtaUpdates",
        "tags": [
          "OTA updates"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterOTAUpdatesConsolidated"
          },
          {
            "$ref": "#/components/parameters/wireless_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SearchOTAUpdateResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/ota_updates/{id}": {
      "get": {
        "summary": "Get OTA update",
        "description": "This API returns the details of an Over the Air (OTA) update.",
        "operationId": "GetOtaUpdate",
        "tags": [
          "OTA updates"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OTAUpdateResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/outbound_voice_profiles": {
      "get": {
        "description": "Get all outbound voice profiles belonging to the user that match the given filters.",
        "summary": "Get all outbound voice profiles",
        "operationId": "ListOutboundVoiceProfiles",
        "tags": [
          "Outbound Voice Profiles"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/outbound-voice-profiles_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/outbound-voice-profiles_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortOutboundVoiceProfile"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListOutboundVoiceProfilesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create an outbound voice profile.",
        "summary": "Create an outbound voice profile",
        "operationId": "CreateVoiceProfile",
        "tags": [
          "Outbound Voice Profiles"
        ],
        "requestBody": {
          "description": "Parameters that can be defined when creating an outbound voice profile",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOutboundVoiceProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/OutboundVoiceProfileResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/outbound_voice_profiles/{id}": {
      "delete": {
        "description": "Deletes an existing outbound voice profile.",
        "summary": "Delete an outbound voice profile",
        "operationId": "DeleteOutboundVoiceProfile",
        "tags": [
          "Outbound Voice Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OutboundVoiceProfileResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing outbound voice profile.",
        "summary": "Retrieve an outbound voice profile",
        "operationId": "GetOutboundVoiceProfile",
        "tags": [
          "Outbound Voice Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OutboundVoiceProfileResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates an existing outbound voice profile.",
        "summary": "Updates an existing outbound voice profile.",
        "operationId": "UpdateOutboundVoiceProfile",
        "tags": [
          "Outbound Voice Profiles"
        ],
        "requestBody": {
          "description": "Parameters that can be updated on an outbound voice profile",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOutboundVoiceProfileRequest"
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OutboundVoiceProfileResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/payment/auto_recharge_prefs": {
      "get": {
        "description": "Returns the payment auto recharge preferences.",
        "summary": "List auto recharge preferences",
        "operationId": "GetAutoRechargePrefs",
        "tags": [
          "AutoRechargePreferences"
        ],
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "$ref": "#/components/responses/AutoRechargePrefResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update payment auto recharge preferences.",
        "summary": "Update auto recharge preferences",
        "operationId": "UpdateAutoRechargePrefs",
        "tags": [
          "AutoRechargePreferences"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "description": "Details to update auto recharge preferences",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoRechargePrefRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AutoRechargePrefResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_number_blocks/jobs": {
      "get": {
        "summary": "Lists the phone number blocks jobs",
        "operationId": "ListPhoneNumberBlocksJobs",
        "tags": [
          "Phone Number Blocks Background Jobs"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created_at"
              ],
              "example": "created_at"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[type], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "delete_phone_number_block"
                  ],
                  "example": "delete_phone_number_block",
                  "description": "Identifies the type of the background job."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "in_progress",
                    "completed",
                    "failed"
                  ],
                  "example": "in_progress",
                  "description": "Identifies the status of the background job."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPhoneNumberBlocksJobsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_number_blocks/jobs/delete_phone_number_block": {
      "post": {
        "x-latency-category": "background",
        "summary": "Deletes all numbers associated with a phone number block",
        "description": "Creates a new background job to delete all the phone numbers associated with the given block. We will only consider the phone number block as deleted after all phone numbers associated with it are removed, so multiple executions of this job may be necessary in case some of the phone numbers present errors during the deletion process.",
        "operationId": "CreatePhoneNumberBlockDeletionJob",
        "tags": [
          "Phone Number Blocks Background Jobs"
        ],
        "x-group-parameters": "true",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberBlocksJobDeletePhoneNumberBlockRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Phone number blocks job delete phone numbers requested.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Blocks Job Delete Phone Number Block",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberBlocksJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_number_blocks/jobs/{id}": {
      "get": {
        "summary": "Retrieves a phone number blocks job",
        "operationId": "GetPhoneNumberBlocksJob",
        "tags": [
          "Phone Number Blocks Background Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the Phone Number Blocks Job.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-group-parameters": "true",
        "responses": {
          "200": {
            "description": "Phone number blocks job details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Blocks Job",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberBlocksJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers": {
      "get": {
        "summary": "List phone numbers",
        "operationId": "ListPhoneNumbers",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "purchased_at",
                "phone_number",
                "connection_name",
                "usage_payment_method"
              ],
              "example": "connection_name"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[tag], filter[phone_number], filter[status], filter[country_iso_alpha2], filter[connection_id], filter[voice.connection_name], filter[voice.usage_payment_method], filter[billing_group_id], filter[emergency_address_id], filter[customer_reference], filter[number_type], filter[source]",
            "schema": {
              "type": "object",
              "properties": {
                "tag": {
                  "type": "string",
                  "description": "Filter by phone number tags."
                },
                "without_tags": {
                  "type": "string",
                  "description": "When set to 'true', filters for phone numbers that do not have any tags applied. All other values are ignored.",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "phone_number": {
                  "type": "string",
                  "description": "Filter by phone number. Requires at least three digits.\n             Non-numerical characters will result in no values being returned."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "purchase-pending",
                    "purchase-failed",
                    "port-pending",
                    "active",
                    "deleted",
                    "port-failed",
                    "emergency-only",
                    "ported-out",
                    "port-out-pending"
                  ],
                  "example": "active",
                  "description": "Filter by phone number status."
                },
                "country_iso_alpha2": {
                  "oneOf": [
                    {
                      "type": "string",
                      "example": "US"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "US",
                        "CA"
                      ]
                    }
                  ],
                  "description": "Filter by phone number country ISO alpha-2 code. Can be a single value or an array of values."
                },
                "connection_id": {
                  "type": "string",
                  "example": "1521916448077776306",
                  "description": "Filter by connection_id."
                },
                "voice.connection_name": {
                  "type": "object",
                  "description": "Filter by voice connection name pattern matching.",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter contains connection name. Requires at least three characters."
                    },
                    "starts_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter starts with connection name. Requires at least three characters."
                    },
                    "ends_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter ends with connection name. Requires at least three characters."
                    },
                    "eq": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter by connection name."
                    }
                  },
                  "additionalProperties": false
                },
                "voice.usage_payment_method": {
                  "type": "string",
                  "enum": [
                    "pay-per-minute",
                    "channel"
                  ],
                  "example": "channel",
                  "description": "Filter by usage_payment_method."
                },
                "billing_group_id": {
                  "type": "string",
                  "example": "62e4bf2e-c278-4282-b524-488d9c9c43b2",
                  "description": "Filter by the billing_group_id associated with phone numbers. To filter to only phone numbers that have no billing group associated them, set the value of this filter to the string 'null'."
                },
                "emergency_address_id": {
                  "type": "string",
                  "example": "9102160989215728032",
                  "description": "Filter by the emergency_address_id associated with phone numbers. To filter only phone numbers that have no emergency address associated with them, set the value of this filter to the string 'null'."
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter numbers via the customer_reference set."
                },
                "number_type": {
                  "type": "object",
                  "description": "Filter phone numbers by phone number type.",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "enum": [
                        "local",
                        "national",
                        "toll_free",
                        "mobile",
                        "shared_cost"
                      ],
                      "description": "Filter phone numbers by phone number type."
                    }
                  },
                  "additionalProperties": false
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "ported",
                    "purchased"
                  ],
                  "description": "Filter phone numbers by their source. Use 'ported' for numbers ported from other carriers, or 'purchased' for numbers bought directly from Telnyx."
                }
              }
            }
          },
          {
            "name": "handle_messaging_profile_error",
            "in": "query",
            "description": "Although it is an infrequent occurrence, due to the highly distributed nature of the Telnyx platform, it is possible that there will be an issue when loading in Messaging Profile information. As such, when this parameter is set to `true` and an error in fetching this information occurs, messaging profile related fields will be omitted in the response and an error message will be included instead of returning a 503 error.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ],
              "example": "false",
              "default": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPhoneNumbersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/actions/verify_ownership": {
      "post": {
        "summary": "Verify ownership of phone numbers",
        "description": "Verifies ownership of the provided phone numbers and returns a mapping of numbers to their IDs, plus a list of numbers not found in the account.",
        "operationId": "VerifyPhoneNumberOwnership",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "light",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberVerifyOwnershipRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Phone number ownership verification completed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Verify Ownership Response",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberVerifyOwnershipResponse"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/csv_downloads": {
      "get": {
        "summary": "List CSV downloads",
        "operationId": "ListCsvDownloads",
        "tags": [
          "CSV Downloads"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListCsvDownloadsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "x-latency-category": "background",
        "summary": "Create a CSV download",
        "operationId": "CreateCsvDownload",
        "tags": [
          "CSV Downloads"
        ],
        "parameters": [
          {
            "name": "csv_format",
            "in": "query",
            "description": "Which format to use when generating the CSV file. The default for backwards compatibility is 'V1'",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "V1",
                "V2"
              ],
              "example": "V2",
              "default": "V1"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[has_bundle], filter[tag], filter[connection_id], filter[phone_number], filter[status], filter[voice.connection_name], filter[voice.usage_payment_method], filter[billing_group_id], filter[emergency_address_id], filter[customer_reference]",
            "schema": {
              "type": "object",
              "properties": {
                "has_bundle": {
                  "type": "string",
                  "description": "Filter by phone number that have bundles."
                },
                "tag": {
                  "type": "string",
                  "description": "Filter by phone number tags."
                },
                "connection_id": {
                  "type": "string",
                  "example": "1521916448077776306",
                  "description": "Filter by connection_id."
                },
                "phone_number": {
                  "type": "string",
                  "description": "Filter by phone number. Requires at least three digits.\n             Non-numerical characters will result in no values being returned."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "purchase-pending",
                    "purchase-failed",
                    "port-pending",
                    "active",
                    "deleted",
                    "port-failed",
                    "emergency-only",
                    "ported-out",
                    "port-out-pending"
                  ],
                  "example": "active",
                  "description": "Filter by phone number status."
                },
                "voice.connection_name": {
                  "type": "object",
                  "description": "Filter by voice connection name pattern matching.",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter contains connection name. Requires at least three characters."
                    },
                    "starts_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter starts with connection name. Requires at least three characters."
                    },
                    "ends_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter ends with connection name. Requires at least three characters."
                    },
                    "eq": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter by connection name."
                    }
                  },
                  "additionalProperties": false
                },
                "voice.usage_payment_method": {
                  "type": "string",
                  "enum": [
                    "pay-per-minute",
                    "channel"
                  ],
                  "example": "channel",
                  "description": "Filter by usage_payment_method."
                },
                "billing_group_id": {
                  "type": "string",
                  "example": "62e4bf2e-c278-4282-b524-488d9c9c43b2",
                  "description": "Filter by the billing_group_id associated with phone numbers. To filter to only phone numbers that have no billing group associated them, set the value of this filter to the string 'null'."
                },
                "emergency_address_id": {
                  "type": "string",
                  "example": "9102160989215728032",
                  "description": "Filter by the emergency_address_id associated with phone numbers. To filter only phone numbers that have no emergency address associated with them, set the value of this filter to the string 'null'."
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter numbers via the customer_reference set."
                }
              }
            }
          }
        ],
        "x-endpoint-cost": "medium",
        "responses": {
          "200": {
            "$ref": "#/components/responses/CsvDownloadResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_numbers/csv_downloads/{id}": {
      "get": {
        "x-latency-category": "background",
        "summary": "Retrieve a CSV download",
        "operationId": "GetCsvDownload",
        "tags": [
          "CSV Downloads"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the CSV download.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CsvDownloadResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_numbers/jobs": {
      "get": {
        "summary": "Lists the phone numbers jobs",
        "operationId": "ListPhoneNumbersJobs",
        "tags": [
          "Bulk Phone Number Operations"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created_at"
              ],
              "example": "created_at"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[type]",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "update_emergency_settings",
                    "delete_phone_numbers",
                    "update_phone_numbers"
                  ],
                  "example": "update_emergency_settings",
                  "description": "Identifies the type of the background job."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPhoneNumbersJobsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Invalid sorting value": {
                    "value": {
                      "errors": [
                        {
                          "code": "10015",
                          "title": "Invalid sorting value",
                          "detail": "The value provided for sorting is not valid. Check the value used and try again.",
                          "source": {
                            "pointer": "/sort"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                          }
                        }
                      ]
                    }
                  },
                  "Invalid page size": {
                    "value": {
                      "errors": [
                        {
                          "code": "10015",
                          "title": "Invalid pagination",
                          "detail": "The provided 'page' parameter is invalid. It must be an object with 'size' and/or 'number' with numeric values.",
                          "source": {
                            "pointer": "page/size"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                          }
                        }
                      ]
                    }
                  },
                  "Invalid page number": {
                    "value": {
                      "errors": [
                        {
                          "code": "10015",
                          "title": "Invalid pagination",
                          "detail": "The provided 'page' parameter is invalid. It must be an object with 'size' and/or 'number' with numeric values.",
                          "source": {
                            "pointer": "page/number"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/jobs/delete_phone_numbers": {
      "post": {
        "x-latency-category": "background",
        "summary": "Delete a batch of numbers",
        "description": "Creates a new background job to delete a batch of numbers. At most one thousand numbers can be updated per API call.",
        "operationId": "CreateDeletePhoneNumbersJob",
        "tags": [
          "Bulk Phone Number Operations"
        ],
        "x-group-parameters": "true",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumbersJobDeletePhoneNumbersRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Phone numbers job delete phone numbers requested.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Numbers Job Delete Phone Numbers",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumbersJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/numbers_ForbiddenResponse"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Phone numbers must be present": {
                    "$ref": "#/components/examples/PhoneNumbersMustBePresent"
                  },
                  "Maximum allowed phone numbers": {
                    "$ref": "#/components/examples/MaximumAllowedPhoneNumbers"
                  },
                  "Minimum allowed phone numbers": {
                    "$ref": "#/components/examples/MinimumAllowedPhoneNumbers"
                  },
                  "Mixed IDs and E164 values": {
                    "$ref": "#/components/examples/MixedIdsAndE164Values"
                  },
                  "Phone number ownership": {
                    "$ref": "#/components/examples/PhoneNumberOwnership"
                  },
                  "Maximum jobs allowed": {
                    "$ref": "#/components/examples/Maximum20JobsAllowed"
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_numbers/jobs/update_emergency_settings": {
      "post": {
        "x-latency-category": "background",
        "summary": "Update the emergency settings from a batch of numbers",
        "description": "Creates a background job to update the emergency settings of a collection of phone numbers. At most one thousand numbers can be updated per API call.",
        "operationId": "CreatePhoneNumbersJobUpdateEmergencySettings",
        "tags": [
          "Bulk Phone Number Operations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumbersJobUpdateEmergencySettingsRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Phone numbers enable emergency requested.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Numbers Enable Emergency",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumbersJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/numbers_ForbiddenResponse"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Phone numbers must be present": {
                    "$ref": "#/components/examples/PhoneNumbersMustBePresent"
                  },
                  "Maximum allowed phone numbers": {
                    "$ref": "#/components/examples/MaximumAllowedPhoneNumbers"
                  },
                  "Minimum allowed phone numbers": {
                    "$ref": "#/components/examples/MinimumAllowedPhoneNumbers"
                  },
                  "Mixed IDs and E164 values": {
                    "$ref": "#/components/examples/MixedIdsAndE164Values"
                  },
                  "Phone number ownership": {
                    "$ref": "#/components/examples/PhoneNumberOwnership"
                  },
                  "Maximum jobs allowed": {
                    "value": {
                      "errors": [
                        {
                          "code": "10015",
                          "title": "Bad Request",
                          "detail": "You can have at most 500 pending or in progress jobs",
                          "source": {
                            "pointer": "/base"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_numbers/jobs/update_phone_numbers": {
      "post": {
        "x-latency-category": "background",
        "summary": "Update a batch of numbers",
        "description": "Creates a new background job to update a batch of numbers. At most one thousand numbers can be updated per API call. At least one of the updateable fields must be submitted. IMPORTANT: You must either specify filters (using the filter parameters) or specific phone numbers (using the phone_numbers parameter in the request body). If you specify filters, ALL phone numbers that match the given filters (up to 1000 at a time) will be updated. If you want to update only specific numbers, you must use the phone_numbers parameter in the request body. When using the phone_numbers parameter, ensure you follow the correct format as shown in the example (either phone number IDs or phone numbers in E164 format).",
        "operationId": "CreateUpdatePhoneNumbersJob",
        "tags": [
          "Bulk Phone Number Operations"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[has_bundle], filter[tag], filter[connection_id], filter[phone_number], filter[status], filter[voice.connection_name], filter[voice.usage_payment_method], filter[billing_group_id], filter[emergency_address_id], filter[customer_reference]",
            "schema": {
              "type": "object",
              "properties": {
                "has_bundle": {
                  "type": "string",
                  "description": "Filter by phone number that have bundles."
                },
                "tag": {
                  "type": "string",
                  "description": "Filter by phone number tags."
                },
                "connection_id": {
                  "type": "string",
                  "example": "1521916448077776306",
                  "description": "Filter by connection_id."
                },
                "phone_number": {
                  "type": "string",
                  "description": "Filter by phone number. Requires at least three digits.\n             Non-numerical characters will result in no values being returned."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "purchase-pending",
                    "purchase-failed",
                    "port-pending",
                    "active",
                    "deleted",
                    "port-failed",
                    "emergency-only",
                    "ported-out",
                    "port-out-pending"
                  ],
                  "example": "active",
                  "description": "Filter by phone number status."
                },
                "voice.connection_name": {
                  "type": "object",
                  "description": "Filter by voice connection name pattern matching.",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter contains connection name. Requires at least three characters."
                    },
                    "starts_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter starts with connection name. Requires at least three characters."
                    },
                    "ends_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter ends with connection name. Requires at least three characters."
                    },
                    "eq": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter by connection name."
                    }
                  },
                  "additionalProperties": false
                },
                "voice.usage_payment_method": {
                  "type": "string",
                  "enum": [
                    "pay-per-minute",
                    "channel"
                  ],
                  "example": "channel",
                  "description": "Filter by usage_payment_method."
                },
                "billing_group_id": {
                  "type": "string",
                  "example": "62e4bf2e-c278-4282-b524-488d9c9c43b2",
                  "description": "Filter by the billing_group_id associated with phone numbers. To filter to only phone numbers that have no billing group associated them, set the value of this filter to the string 'null'."
                },
                "emergency_address_id": {
                  "type": "string",
                  "example": "9102160989215728032",
                  "description": "Filter by the emergency_address_id associated with phone numbers. To filter only phone numbers that have no emergency address associated with them, set the value of this filter to the string 'null'."
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter numbers via the customer_reference set."
                }
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumbersJobUpdatePhoneNumbersRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Phone numbers job update phone numbers requested.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Numbers Job Update Phone Numbers",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumbersJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Not authorized": {
                    "$ref": "#/components/examples/NotAuthorized"
                  },
                  "Billing group not authorized": {
                    "value": {
                      "errors": [
                        {
                          "code": "10010",
                          "title": "Authorization Failed",
                          "detail": "The specified billing group either does not exist or is not part of your account",
                          "source": {
                            "pointer": "/billing_group_id"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10010"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Phone numbers must be present": {
                    "$ref": "#/components/examples/PhoneNumbersMustBePresent"
                  },
                  "Maximum allowed phone numbers": {
                    "$ref": "#/components/examples/MaximumAllowedPhoneNumbers"
                  },
                  "Minimum allowed phone numbers": {
                    "$ref": "#/components/examples/MinimumAllowedPhoneNumbers"
                  },
                  "Mixed IDs and E164 values": {
                    "$ref": "#/components/examples/MixedIdsAndE164Values"
                  },
                  "Phone number ownership": {
                    "$ref": "#/components/examples/PhoneNumberOwnership"
                  },
                  "Minimum updateable field": {
                    "value": {
                      "errors": [
                        {
                          "code": "10015",
                          "title": "Bad Request",
                          "detail": "You must provide at least 1 updateable field.",
                          "source": {
                            "pointer": "/updateable_fields"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                          }
                        }
                      ]
                    }
                  },
                  "Maximum jobs allowed": {
                    "$ref": "#/components/examples/Maximum20JobsAllowed"
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/phone_numbers/jobs/{id}": {
      "get": {
        "summary": "Retrieve a phone numbers job",
        "operationId": "RetrievePhoneNumbersJob",
        "tags": [
          "Bulk Phone Number Operations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the Phone Numbers Job.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-group-parameters": "true",
        "responses": {
          "200": {
            "description": "Phone numbers job details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Numbers Job",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumbersJob"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/numbers_Errors"
                },
                "examples": {
                  "Resource not found": {
                    "value": {
                      "errors": [
                        {
                          "code": "10005",
                          "title": "Resource not found",
                          "detail": "The requested resource or URL could not be found.",
                          "source": {
                            "pointer": "/base"
                          },
                          "meta": {
                            "url": "https://developers.telnyx.com/docs/overview/errors/10005"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/messaging": {
      "get": {
        "summary": "List phone numbers with messaging settings",
        "operationId": "ListPhoneNumbersWithMessagingSettings",
        "tags": [
          "Number Settings"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter[messaging_profile_id]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Filter by messaging profile ID."
          },
          {
            "name": "filter[phone_number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by exact phone number (supports comma-separated list)."
          },
          {
            "name": "filter[phone_number][contains]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by phone number substring."
          },
          {
            "name": "filter[type]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "tollfree",
                "longcode",
                "shortcode"
              ]
            },
            "description": "Filter by phone number type."
          },
          {
            "name": "sort[phone_number]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort by phone number."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPhoneNumbersWithMessagingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/slim": {
      "get": {
        "summary": "Slim List phone numbers",
        "description": "List phone numbers, This endpoint is a lighter version of the /phone_numbers endpoint having higher performance and rate limit.",
        "operationId": "SlimListPhoneNumbers",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "include_connection",
            "in": "query",
            "description": "Include the connection associated with the phone number.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "include_tags",
            "in": "query",
            "description": "Include the tags associated with the phone number.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "purchased_at",
                "phone_number",
                "connection_name",
                "usage_payment_method"
              ],
              "example": "connection_name"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[tag], filter[phone_number], filter[status], filter[country_iso_alpha2], filter[connection_id], filter[voice.connection_name], filter[voice.usage_payment_method], filter[billing_group_id], filter[emergency_address_id], filter[customer_reference], filter[number_type], filter[source]",
            "schema": {
              "type": "object",
              "properties": {
                "tag": {
                  "type": "string",
                  "description": "Filter by phone number tags. (This requires the include_tags param)"
                },
                "phone_number": {
                  "type": "string",
                  "description": "Filter by phone number. Requires at least three digits.\n             Non-numerical characters will result in no values being returned."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "purchase-pending",
                    "purchase-failed",
                    "port_pending",
                    "active",
                    "deleted",
                    "port-failed",
                    "emergency-only",
                    "ported-out",
                    "port-out-pending"
                  ],
                  "example": "active",
                  "description": "Filter by phone number status."
                },
                "country_iso_alpha2": {
                  "oneOf": [
                    {
                      "type": "string",
                      "example": "US"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "US",
                        "CA"
                      ]
                    }
                  ],
                  "description": "Filter by phone number country ISO alpha-2 code. Can be a single value or an array of values."
                },
                "connection_id": {
                  "type": "string",
                  "example": "1521916448077776306",
                  "description": "Filter by connection_id."
                },
                "voice.connection_name": {
                  "type": "object",
                  "description": "Filter by voice connection name pattern matching (requires include_connection param).",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter contains connection name. Requires at least three characters and the include_connection param."
                    },
                    "starts_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter starts with connection name. Requires at least three characters and the include_connection param."
                    },
                    "ends_with": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter ends with connection name. Requires at least three characters and the include_connection param."
                    },
                    "eq": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter by connection name."
                    }
                  },
                  "additionalProperties": false
                },
                "voice.usage_payment_method": {
                  "type": "string",
                  "enum": [
                    "pay-per-minute",
                    "channel"
                  ],
                  "example": "channel",
                  "description": "Filter by usage_payment_method."
                },
                "billing_group_id": {
                  "type": "string",
                  "example": "62e4bf2e-c278-4282-b524-488d9c9c43b2",
                  "description": "Filter by the billing_group_id associated with phone numbers. To filter to only phone numbers that have no billing group associated them, set the value of this filter to the string 'null'."
                },
                "emergency_address_id": {
                  "type": "string",
                  "example": "9102160989215728032",
                  "description": "Filter by the emergency_address_id associated with phone numbers. To filter only phone numbers that have no emergency address associated with them, set the value of this filter to the string 'null'."
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter numbers via the customer_reference set."
                },
                "number_type": {
                  "type": "object",
                  "description": "Filter phone numbers by phone number type.",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "enum": [
                        "local",
                        "national",
                        "toll_free",
                        "mobile",
                        "shared_cost"
                      ],
                      "description": "Filter phone numbers by phone number type."
                    }
                  },
                  "additionalProperties": false
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "ported",
                    "purchased"
                  ],
                  "description": "Filter phone numbers by their source. Use 'ported' for numbers ported from other carriers, or 'purchased' for numbers bought directly from Telnyx."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SlimListPhoneNumbersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/voice": {
      "get": {
        "summary": "List phone numbers with voice settings",
        "operationId": "ListPhoneNumbersWithVoiceSettings",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/numbers_PageConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "purchased_at",
                "phone_number",
                "connection_name",
                "usage_payment_method"
              ],
              "example": "connection_name"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number], filter[connection_name], filter[customer_reference], filter[voice.usage_payment_method]",
            "schema": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Filter by phone number. Requires at least three digits.\n             Non-numerical characters will result in no values being returned."
                },
                "connection_name": {
                  "type": "object",
                  "description": "Filter by connection name pattern matching.",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "test",
                      "description": "Filter contains connection name. Requires at least three characters."
                    }
                  },
                  "additionalProperties": false
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter numbers via the customer_reference set."
                },
                "voice.usage_payment_method": {
                  "type": "string",
                  "enum": [
                    "pay-per-minute",
                    "channel"
                  ],
                  "example": "channel",
                  "description": "Filter by usage_payment_method."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPhoneNumbersWithVoiceSettingsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{id}": {
      "delete": {
        "summary": "Delete a phone number",
        "operationId": "DeletePhoneNumber",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeletePhoneNumberResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a phone number",
        "operationId": "RetrievePhoneNumber",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a phone number",
        "operationId": "UpdatePhoneNumber",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "requestBody": {
          "description": "Updated settings for the phone number.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePhoneNumberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{id}/actions/bundle_status_change": {
      "patch": {
        "summary": "Change the bundle status for a phone number (set to being in a bundle or remove from a bundle)",
        "operationId": "PhoneNumberBundleStatusChange",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberBundleStatusChangeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Phone number bundle status change success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Bundle Status Change",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberWithVoiceSettings"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{id}/actions/enable_emergency": {
      "post": {
        "summary": "Enable emergency for a phone number",
        "operationId": "EnablePhoneNumberEmergency",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneNumberEnableEmergencyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Phone number emergency enabled.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Enable Emergency",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberWithVoiceSettings"
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Phone number emergency requested.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Phone Number Enable Emergency",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhoneNumberWithVoiceSettings"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{id}/messaging": {
      "get": {
        "summary": "Retrieve a phone number with messaging settings",
        "operationId": "GetPhoneNumberMessagingSettings",
        "tags": [
          "Number Settings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the type of resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberWithMessagingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update the messaging profile and/or messaging product of a phone number",
        "operationId": "UpdatePhoneNumberMessagingSettings",
        "tags": [
          "Number Settings"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The phone number to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The new configuration to set for this phone number.\n\nTo avoid modifying a value, either omit the field or set its value to `null`.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePhoneNumberMessagingSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberWithMessagingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{id}/voice": {
      "get": {
        "summary": "Retrieve a phone number with voice settings",
        "operationId": "GetPhoneNumberVoiceSettings",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberWithVoiceSettingsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a phone number with voice settings",
        "operationId": "UpdatePhoneNumberVoiceSettings",
        "tags": [
          "Phone Number Configurations"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/IntId"
          }
        ],
        "requestBody": {
          "description": "Updated voice settings for the phone number.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePhoneNumberVoiceSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PhoneNumberWithVoiceSettingsResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers/{phone_number_id}/voicemail": {
      "get": {
        "description": "Returns the voicemail settings for a phone number",
        "summary": "Get voicemail",
        "operationId": "GetVoicemail",
        "tags": [
          "Voicemail"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoicemailResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "parameters": [
        {
          "name": "phone_number_id",
          "in": "path",
          "description": "The ID of the phone number.",
          "example": "123455678900",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "patch": {
        "description": "Update voicemail settings for a phone number",
        "summary": "Update voicemail",
        "operationId": "UpdateVoicemail",
        "tags": [
          "Voicemail"
        ],
        "requestBody": {
          "description": "Details to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoicemailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoicemailResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create voicemail settings for a phone number",
        "summary": "Create voicemail",
        "operationId": "CreateVoicemail",
        "tags": [
          "Voicemail"
        ],
        "requestBody": {
          "description": "Details to create",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoicemailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoicemailResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/phone_numbers_regulatory_requirements": {
      "get": {
        "summary": "Retrieve regulatory requirements for a list of phone numbers",
        "operationId": "ListRegulatoryRequirementsPhoneNumbers",
        "tags": [
          "Regulatory Requirements"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number]",
            "schema": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "example": "+41215470622,+41215470633",
                  "description": "Record type phone number/ phone numbers"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listRegulatoryRequirementsPhoneNumbers"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portability_checks": {
      "post": {
        "summary": "Run a portability check",
        "tags": [
          "Phone Number Porting"
        ],
        "description": "Runs a portability check, returning the results immediately.",
        "operationId": "PostPortabilityCheck",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phone_numbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The list of +E.164 formatted phone numbers to check for portability",
                    "example": [
                      "+13035550000",
                      "+13035550001",
                      "+13035550002"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/PortabilityCheckResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/events": {
      "get": {
        "summary": "List all porting events",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all porting events.",
        "operationId": "listPortingEvents",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[type], filter[porting_order_id], filter[created_at][gte], filter[created_at][lte]",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "porting_order.deleted",
                    "porting_order.loa_updated",
                    "porting_order.messaging_changed",
                    "porting_order.status_changed",
                    "porting_order.sharing_token_expired",
                    "porting_order.new_comment",
                    "porting_order.split"
                  ],
                  "example": "porting_order.deleted",
                  "description": "Filter by event type."
                },
                "porting_order_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "34dc46a9-53ed-4e01-9454-26227ea13326",
                  "description": "Filter by porting order ID."
                },
                "created_at": {
                  "type": "object",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Filter by created at greater than or equal to.",
                      "example": "2021-01-01T00:00:00Z"
                    },
                    "lte": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Filter by created at less than or equal to.",
                      "example": "2021-01-01T00:00:00Z"
                    }
                  },
                  "description": "Created at date range filtering operations"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingEventsResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/events/{id}": {
      "get": {
        "summary": "Show a porting event",
        "tags": [
          "Porting Orders"
        ],
        "description": "Show a specific porting event.",
        "operationId": "showPortingEvent",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies the porting event.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingEventResponse"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/events/{id}/republish": {
      "post": {
        "summary": "Republish a porting event",
        "tags": [
          "Porting Orders"
        ],
        "description": "Republish a specific porting event.",
        "operationId": "republishPortingEvent",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies the porting event.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/loa_configurations": {
      "get": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "List LOA configurations",
        "description": "List the LOA configurations.",
        "operationId": "ListLoaConfigurations",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingLOAConfigurations"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Create a LOA configuration",
        "description": "Create a LOA configuration.",
        "operationId": "CreateLoaConfiguration",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingLOAConfiguration"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortingLOAConfiguration"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/loa_configurations/preview": {
      "post": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Preview the LOA configuration parameters",
        "description": "Preview the LOA template that would be generated without need to create LOA configuration.",
        "operationId": "PreviewLoaConfigurationParams",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingLOAConfiguration"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DownloadLOATemplate"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/loa_configurations/{id}": {
      "delete": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Delete a LOA configuration",
        "description": "Delete a specific LOA configuration.",
        "operationId": "DeleteLoaConfiguration",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a LOA configuration.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Retrieve a LOA configuration",
        "description": "Retrieve a specific LOA configuration.",
        "operationId": "GetLoaConfiguration",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a LOA configuration.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingLOAConfiguration"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Update a LOA configuration",
        "description": "Update a specific LOA configuration.",
        "operationId": "UpdateLoaConfiguration",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a LOA configuration.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingLOAConfiguration"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdatePortingLOAConfiguration"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/loa_configurations/{id}/preview": {
      "get": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Preview a LOA configuration",
        "description": "Preview a specific LOA configuration.",
        "operationId": "PreviewLoaConfiguration",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a LOA configuration.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DownloadLOATemplate"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/reports": {
      "get": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "List porting related reports",
        "description": "List the reports generated about porting operations.",
        "operationId": "ListPortingReports",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[report_type], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "report_type": {
                  "type": "string",
                  "enum": [
                    "export_porting_orders_csv"
                  ],
                  "example": "export_porting_orders_csv",
                  "description": "Filter reports of a specific type"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "completed"
                  ],
                  "example": "completed",
                  "description": "Filter reports of a specific status"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingReports"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Create a porting related report",
        "description": "Generate reports about porting operations.",
        "operationId": "CreatePortingReport",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingReport"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortingReport"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/reports/{id}": {
      "get": {
        "tags": [
          "Porting Orders"
        ],
        "summary": "Retrieve a report",
        "description": "Retrieve a specific report generated.",
        "operationId": "GetPortingReport",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a report.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingReport"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting/uk_carriers": {
      "get": {
        "summary": "List available carriers in the UK",
        "tags": [
          "Porting Orders"
        ],
        "description": "List available carriers in the UK.",
        "operationId": "listPortingUKCarriers",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingUKCarriersResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders": {
      "get": {
        "summary": "List all porting orders",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of your porting order.",
        "operationId": "ListPortingOrders",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/QueryIncludePhoneNumbers"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[customer_reference], filter[customer_group_reference], filter[parent_support_key], filter[phone_numbers.country_code], filter[phone_numbers.carrier_name], filter[misc.type], filter[end_user.admin.entity_name], filter[end_user.admin.auth_person_name], filter[activation_settings.fast_port_eligible], filter[activation_settings.foc_datetime_requested][gt], filter[activation_settings.foc_datetime_requested][lt], filter[phone_numbers.phone_number][contains]",
            "schema": {
              "type": "object",
              "properties": {
                "customer_reference": {
                  "type": "string",
                  "description": "Filter results by customer_reference"
                },
                "customer_group_reference": {
                  "type": "string",
                  "description": "Filter results by customer_group_reference"
                },
                "parent_support_key": {
                  "type": "string",
                  "description": "Filter results by parent_support_key"
                },
                "phone_numbers": {
                  "type": "object",
                  "properties": {
                    "country_code": {
                      "type": "string",
                      "description": "Filter results by country ISO 3166-1 alpha-2 code"
                    },
                    "carrier_name": {
                      "type": "string",
                      "description": "Filter results by old service provider"
                    },
                    "phone_number": {
                      "type": "object",
                      "properties": {
                        "contains": {
                          "type": "string",
                          "description": "Filter results by full or partial phone_number"
                        }
                      },
                      "description": "Phone number pattern filtering operations"
                    }
                  }
                },
                "misc": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "$ref": "#/components/schemas/PortingOrderType",
                      "description": "Filter results by porting order type"
                    }
                  }
                },
                "end_user": {
                  "type": "object",
                  "properties": {
                    "admin": {
                      "type": "object",
                      "properties": {
                        "entity_name": {
                          "type": "string",
                          "description": "Filter results by person or company name"
                        },
                        "auth_person_name": {
                          "type": "string",
                          "description": "Filter results by authorized person"
                        }
                      }
                    }
                  }
                },
                "activation_settings": {
                  "type": "object",
                  "properties": {
                    "fast_port_eligible": {
                      "type": "boolean",
                      "description": "Filter results by fast port eligible"
                    },
                    "foc_datetime_requested": {
                      "type": "object",
                      "properties": {
                        "gt": {
                          "type": "string",
                          "description": "Filter results by foc date later than this value",
                          "example": "2021-03-25T10:00:00.000Z"
                        },
                        "lt": {
                          "type": "string",
                          "description": "Filter results by foc date earlier than this value",
                          "example": "2021-03-25T10:00:00.000Z"
                        }
                      },
                      "description": "FOC datetime range filtering operations"
                    }
                  }
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at",
                    "activation_settings.foc_datetime_requested",
                    "-activation_settings.foc_datetime_requested"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingOrder"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a new porting order object.",
        "operationId": "CreatePortingOrder",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortingOrder"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ListDraftPortingOrdersWithoutPagination"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/exception_types": {
      "get": {
        "summary": "List all exception types",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all possible exception types for a porting order.",
        "operationId": "ListExceptionTypes",
        "parameters": [],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingOrdersExceptionTypes"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/phone_number_configurations": {
      "get": {
        "summary": "List all phone number configurations",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of phone number configurations paginated.",
        "operationId": "ListPhoneNumberConfigurations",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[porting_order.status][in][], filter[porting_phone_number][in][], filter[user_bundle_id][in][]",
            "schema": {
              "type": "object",
              "properties": {
                "porting_order": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "in-process",
                        "enum": [
                          "activation-in-progress",
                          "cancel-pending",
                          "cancelled",
                          "draft",
                          "exception",
                          "foc-date-confirmed",
                          "in-process",
                          "ported",
                          "submitted"
                        ]
                      },
                      "description": "Filter results by specific porting order statuses"
                    }
                  }
                },
                "porting_phone_number": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "example": "5d6f7ede-1961-4717-bfb5-db392c5efc2d"
                  },
                  "description": "Filter results by a list of porting phone number IDs"
                },
                "user_bundle_id": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "example": "5d6f7ede-1961-4717-bfb5-db392c5efc2d"
                  },
                  "description": "Filter results by a list of user bundle IDs"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingPhoneNumberConfigurations"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a list of phone number configurations",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a list of phone number configurations.",
        "operationId": "CreatePhoneNumberConfigurations",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingPhoneNumberConfigurations"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortingPhoneNumberConfigurations"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}": {
      "delete": {
        "summary": "Delete a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Deletes an existing porting order. This operation is restrict to porting orders in draft state.",
        "operationId": "DeletePortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Retrieves the details of an existing porting order.",
        "operationId": "GetPortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/QueryIncludePhoneNumbers"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingOrder"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Edit a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Edits the details of an existing porting order.\n\nAny or all of a porting orders attributes may be included in the resource object included in a PATCH request.\n\nIf a request does not include all of the attributes for a resource, the system will interpret the missing attributes as if they were included with their current values. To explicitly set something to null, it must be included in the request with a null value.",
        "operationId": "UpdatePortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePortingOrder"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdatePortingOrderResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/actions/activate": {
      "post": {
        "summary": "Activate every number in a porting order asynchronously.",
        "tags": [
          "Porting Orders"
        ],
        "description": "Activate each number in a porting order asynchronously. This operation is limited to US FastPort orders only.",
        "operationId": "ActivatePortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/ShowPortingOrdersActivationJob"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/actions/cancel": {
      "post": {
        "summary": "Cancel a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Cancel a porting order",
        "operationId": "CancelPortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CancelPortingOrderResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/actions/confirm": {
      "post": {
        "summary": "Submit a porting order.",
        "tags": [
          "Porting Orders"
        ],
        "description": "Confirm and submit your porting order.",
        "operationId": "ConfirmPortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConfirmPortingOrderResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/actions/share": {
      "post": {
        "summary": "Share a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a sharing token for a porting order. The token can be used to share the porting order with non-Telnyx users.",
        "operationId": "SharePortingOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SharePortingOrder"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/SharePortingOrder"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Porting Order not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/activation_jobs": {
      "get": {
        "summary": "List all porting activation jobs",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of your porting activation jobs.",
        "operationId": "ListPortingOrderActivationJobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingOrdersActivationJobs"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/activation_jobs/{activationJobId}": {
      "get": {
        "summary": "Retrieve a porting activation job",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a porting activation job.",
        "operationId": "GetPortingOrdersActivationJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/PathPortingOrdersActivationJobID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingOrdersActivationJob"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a porting activation job",
        "tags": [
          "Porting Orders"
        ],
        "description": "Updates the activation time of a porting activation job.",
        "operationId": "UpdatePortingOrdersActivationJob",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/PathPortingOrdersActivationJobID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdatePortingOrdersActivationJob"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingOrdersActivationJob"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/additional_documents": {
      "get": {
        "summary": "List additional documents",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of additional documents for a porting order.",
        "operationId": "ListAdditionalDocuments",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[document_type]",
            "schema": {
              "type": "object",
              "properties": {
                "document_type": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "loa",
                      "invoice",
                      "csr",
                      "other"
                    ],
                    "example": "loa"
                  },
                  "description": "Filter additional documents by a list of document types"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingAdditionalDocuments"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a list of additional documents",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a list of additional documents for a porting order.",
        "operationId": "CreateAdditionalDocuments",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingAdditionalDocuments"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortingAdditionalDocuments"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/additional_documents/{additional_document_id}": {
      "delete": {
        "summary": "Delete an additional document",
        "tags": [
          "Porting Orders"
        ],
        "description": "Deletes an additional document for a porting order.",
        "operationId": "DeleteAdditionalDocument",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "name": "additional_document_id",
            "description": "Additional document identification.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/allowed_foc_windows": {
      "get": {
        "summary": "List allowed FOC dates",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of allowed FOC dates for a porting order.",
        "operationId": "ListAllowedFocWindows",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListAllowedFocWindows"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/comments": {
      "get": {
        "summary": "List all comments of a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all comments of a porting order.",
        "operationId": "ListPortingOrderComments",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingOrdersComments"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a comment for a porting order",
        "tags": [
          "Porting Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "description": "Creates a new comment for a porting order.",
        "operationId": "CreatePortingOrderComment",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePortingOrderComment"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ShowPortingOrdersComment"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/loa_template": {
      "get": {
        "summary": "Download a porting order loa template",
        "tags": [
          "Porting Orders"
        ],
        "description": "Download a porting order loa template",
        "operationId": "GetPortingOrderLoaTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "name": "loa_configuration_id",
            "in": "query",
            "description": "The identifier of the LOA configuration to use for the template. If not provided, the default LOA configuration will be used.",
            "example": "a36c2277-446b-4d11-b4ea-322e02a5c08d",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DownloadLOATemplate"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/requirements": {
      "get": {
        "summary": "List porting order requirements",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all requirements based on country/number type for this porting order.",
        "operationId": "ListPortingOrderRequirements",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingOrderRequirements"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/sub_request": {
      "get": {
        "summary": "Retrieve the associated V1 sub_request_id and port_request_id",
        "tags": [
          "Porting Orders"
        ],
        "description": "Retrieve the associated V1 sub_request_id and port_request_id",
        "operationId": "GetPortingOrderSubRequest",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubRequestByPortingOrder"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Porting Order not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/verification_codes": {
      "get": {
        "summary": "List verification codes",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of verification codes for a porting order.",
        "operationId": "ListVerificationCodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[verified]",
            "schema": {
              "type": "object",
              "properties": {
                "verified": {
                  "type": "boolean",
                  "example": true,
                  "description": "Filter verification codes that have been verified or not"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingVerificationCodes"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/verification_codes/send": {
      "post": {
        "summary": "Send the verification codes",
        "description": "Send the verification code for all porting phone numbers.",
        "tags": [
          "Porting Orders"
        ],
        "operationId": "SendPortingVerificationCodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SendPortingVerificationCodes"
        },
        "responses": {
          "204": {
            "description": "No content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{id}/verification_codes/verify": {
      "post": {
        "summary": "Verify the verification code for a list of phone numbers",
        "description": "Verifies the verification code for a list of phone numbers.",
        "tags": [
          "Porting Orders"
        ],
        "operationId": "VerifyPortingVerificationCodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/PathPortingOrderID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/VerifyPortingVerificationCodes"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/VerifyPortingVerificationCodes"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/action_requirements": {
      "get": {
        "summary": "List action requirements for a porting order",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of action requirements for a specific porting order.",
        "operationId": "listPortingActionRequirements",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "The ID of the porting order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[id][in][], filter[requirement_type_id], filter[action_type], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "description": "Filter action requirements by a list of IDs"
                },
                "requirement_type_id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Filter action requirements by requirement type ID"
                },
                "action_type": {
                  "type": "string",
                  "enum": [
                    "au_id_verification"
                  ],
                  "description": "Filter action requirements by action type"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "created",
                    "pending",
                    "completed",
                    "cancelled",
                    "failed"
                  ],
                  "description": "Filter action requirements by status"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "created_at",
                    "-created_at",
                    "updated_at",
                    "-updated_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingActionRequirements"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Porting order not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/action_requirements/{id}/initiate": {
      "post": {
        "summary": "Initiate an action requirement",
        "tags": [
          "Porting Orders"
        ],
        "description": "Initiates a specific action requirement for a porting order.",
        "operationId": "initiatePortingActionRequirement",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "The ID of the porting order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the action requirement",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/InitiatePortingActionRequirement"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingActionRequirement"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Porting order or action requirement not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/associated_phone_numbers": {
      "get": {
        "summary": "List all associated phone numbers",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all associated phone numbers for a porting order. Associated phone numbers are used for partial porting in GB to specify which phone numbers should be kept or disconnected.",
        "operationId": "listPortingAssociatedPhoneNumbers",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone numbers",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number], filter[action]",
            "schema": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "example": "+441234567890",
                  "description": "Filter results by a phone number. It should be in E.164 format."
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "keep",
                    "disconnect"
                  ],
                  "example": "keep",
                  "description": "Filter results by action type"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "-created_at",
                    "created_at"
                  ],
                  "example": "-created_at",
                  "default": "-created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingAssociatedPhoneNumbers"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create an associated phone number",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a new associated phone number for a porting order. This is used for partial porting in GB to specify which phone numbers should be kept or disconnected.",
        "operationId": "createPortingAssociatedPhoneNumber",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingAssociatedPhoneNumber"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ShowPortingAssociatedPhoneNumber"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/associated_phone_numbers/{id}": {
      "delete": {
        "summary": "Delete an associated phone number",
        "tags": [
          "Porting Orders"
        ],
        "description": "Deletes an associated phone number from a porting order.",
        "operationId": "deletePortingAssociatedPhoneNumber",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the associated phone number to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingAssociatedPhoneNumber"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/phone_number_blocks": {
      "get": {
        "summary": "List all phone number blocks",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all phone number blocks of a porting order.",
        "operationId": "listPortingPhoneNumberBlocks",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number blocks",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/porting-order_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "-created_at",
                    "created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingPhoneNumberBlocks"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a phone number block",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a new phone number block.",
        "operationId": "createPortingPhoneNumberBlock",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number block",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingPhoneNumberBlock"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ShowPortingPhoneNumberBlock"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/phone_number_blocks/{id}": {
      "delete": {
        "summary": "Delete a phone number block",
        "tags": [
          "Porting Orders"
        ],
        "description": "Deletes a phone number block.",
        "operationId": "deletePortingPhoneNumberBlock",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number block",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the phone number block to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingPhoneNumberBlock"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/phone_number_extensions": {
      "get": {
        "summary": "List all phone number extensions",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of all phone number extensions of a porting order.",
        "operationId": "listPortingPhoneNumberExtensions",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number extensions",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[porting_phone_number_id]",
            "schema": {
              "type": "object",
              "properties": {
                "porting_phone_number_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "04f8f1b9-310c-4a3c-963e-7dfc54765140",
                  "description": "Filter results by porting phone number id"
                }
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated sort parameter (deepObject style). Originally: sort[value]",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "-created_at",
                    "created_at"
                  ],
                  "example": "created_at",
                  "description": "Specifies the sort order for results. If not given, results are sorted by created_at in descending order"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingPhoneNumberExtensions"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a phone number extension",
        "tags": [
          "Porting Orders"
        ],
        "description": "Creates a new phone number extension.",
        "operationId": "createPortingPhoneNumberExtension",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number extension",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortingPhoneNumberExtension"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ShowPortingPhoneNumberExtension"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_orders/{porting_order_id}/phone_number_extensions/{id}": {
      "delete": {
        "summary": "Delete a phone number extension",
        "tags": [
          "Porting Orders"
        ],
        "description": "Deletes a phone number extension.",
        "operationId": "deletePortingPhoneNumberExtension",
        "parameters": [
          {
            "name": "porting_order_id",
            "in": "path",
            "description": "Identifies the Porting Order associated with the phone number extension",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the phone number extension to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortingPhoneNumberExtension"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/porting_phone_numbers": {
      "get": {
        "summary": "List all porting phone numbers",
        "tags": [
          "Porting Orders"
        ],
        "description": "Returns a list of your porting phone numbers.",
        "operationId": "ListPortingPhoneNumbers",
        "parameters": [
          {
            "$ref": "#/components/parameters/porting-order_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[porting_order_status]",
            "schema": {
              "type": "object",
              "properties": {
                "porting_order_status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "in-process",
                    "submitted",
                    "exception",
                    "foc-date-confirmed",
                    "cancel-pending",
                    "ported",
                    "cancelled"
                  ],
                  "example": "in-process",
                  "description": "Filter results by porting order status"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortingPhoneNumbers"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts": {
      "get": {
        "summary": "List portout requests",
        "description": "Returns the portout requests according to filters",
        "operationId": "ListPortoutRequest",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[carrier_name], filter[country_code], filter[country_code_in], filter[foc_date], filter[inserted_at], filter[phone_number], filter[pon], filter[ported_out_at], filter[spid], filter[status], filter[status_in], filter[support_key]",
            "schema": {
              "type": "object",
              "properties": {
                "carrier_name": {
                  "type": "string",
                  "description": "Filter by new carrier name."
                },
                "pon": {
                  "type": "string",
                  "description": "Filter by Port Order Number (PON)."
                },
                "spid": {
                  "type": "string",
                  "description": "Filter by new carrier spid."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "authorized",
                    "ported",
                    "rejected",
                    "rejected-pending",
                    "canceled"
                  ],
                  "description": "Filter by portout status."
                },
                "status_in": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pending",
                      "authorized",
                      "ported",
                      "rejected",
                      "rejected-pending",
                      "canceled"
                    ]
                  },
                  "description": "Filter by a list of portout statuses"
                },
                "country_code": {
                  "type": "string",
                  "description": "Filter by 2-letter country code",
                  "example": "US"
                },
                "country_code_in": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "CA",
                    "US"
                  ],
                  "description": "Filter by a list of 2-letter country codes"
                },
                "ported_out_at": {
                  "type": "object",
                  "description": "Filter by ported_out_at date range using nested operations",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-09-04T00:00:00.000Z",
                      "description": "Filter by ported_out_at date greater than or equal."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-09-04T00:00:00.000Z",
                      "description": "Filter by ported_out_at date less than or equal."
                    }
                  }
                },
                "inserted_at": {
                  "type": "object",
                  "description": "Filter by inserted_at date range using nested operations",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-09-04T00:00:00.000Z",
                      "description": "Filter by inserted_at date greater than or equal."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-09-04T00:00:00.000Z",
                      "description": "Filter by inserted_at date less than or equal."
                    }
                  }
                },
                "foc_date": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2024-09-04T00:00:00.000Z",
                  "description": "Filter by foc_date. Matches all portouts with the same date"
                },
                "phone_number": {
                  "type": "string",
                  "example": "+13035551212",
                  "description": "Filter by a phone number on the portout. Matches all portouts with the phone number"
                },
                "support_key": {
                  "type": "string",
                  "example": "PO_abc123",
                  "description": "Filter by the portout's support_key"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortoutResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/events": {
      "get": {
        "summary": "List all port-out events",
        "tags": [
          "Number Portout"
        ],
        "description": "Returns a list of all port-out events.",
        "operationId": "listPortoutEvents",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[event_type], filter[portout_id], filter[created_at]",
            "schema": {
              "type": "object",
              "properties": {
                "event_type": {
                  "type": "string",
                  "enum": [
                    "portout.status_changed",
                    "portout.new_comment",
                    "portout.foc_date_changed"
                  ],
                  "example": "portout.status_changed",
                  "description": "Filter by event type."
                },
                "portout_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "34dc46a9-53ed-4e01-9454-26227ea13326",
                  "description": "Filter by port-out order ID."
                },
                "created_at": {
                  "type": "object",
                  "description": "Filter by created_at date range using nested operations",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-01-01T00:00:00Z",
                      "description": "Filter by created at greater than or equal to."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-01-01T00:00:00Z",
                      "description": "Filter by created at less than or equal to."
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortoutEventsResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/events/{id}": {
      "get": {
        "summary": "Show a port-out event",
        "tags": [
          "Number Portout"
        ],
        "description": "Show a specific port-out event.",
        "operationId": "showPortoutEvent",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies the port-out event.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortoutEventResponse"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/events/{id}/republish": {
      "post": {
        "summary": "Republish a port-out event",
        "tags": [
          "Number Portout"
        ],
        "description": "Republish a specific port-out event.",
        "operationId": "republishPortoutEvent",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies the port-out event.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/rejections/{portout_id}": {
      "get": {
        "tags": [
          "Number Portout"
        ],
        "summary": "List eligible port-out rejection codes for a specific order",
        "description": "Given a port-out ID, list rejection codes that are eligible for that port-out",
        "operationId": "ListPortoutRejections",
        "parameters": [
          {
            "name": "portout_id",
            "description": "Identifies a port out order.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "329d6658-8f93-405d-862f-648776e8afd7"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[code], filter[code][in]",
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "oneOf": [
                    {
                      "type": "integer",
                      "example": 1002,
                      "description": "Filter rejections of a specific code"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "example": [
                        1002,
                        1003
                      ],
                      "description": "Filter rejections in a list of codes"
                    }
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortoutRejections"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/reports": {
      "get": {
        "tags": [
          "Number Portout"
        ],
        "summary": "List port-out related reports",
        "description": "List the reports generated about port-out operations.",
        "operationId": "ListPortoutReports",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[report_type], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "report_type": {
                  "type": "string",
                  "enum": [
                    "export_portouts_csv"
                  ],
                  "example": "export_portouts_csv",
                  "description": "Filter reports of a specific type"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "completed"
                  ],
                  "example": "completed",
                  "description": "Filter reports of a specific status"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortoutReports"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Number Portout"
        ],
        "summary": "Create a port-out related report",
        "description": "Generate reports about port-out operations.",
        "operationId": "CreatePortoutReport",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePortoutReport"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortoutReport"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/reports/{id}": {
      "get": {
        "tags": [
          "Number Portout"
        ],
        "summary": "Retrieve a report",
        "description": "Retrieve a specific report generated.",
        "operationId": "GetPortoutReport",
        "parameters": [
          {
            "name": "id",
            "description": "Identifies a report.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShowPortoutReport"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/{id}": {
      "get": {
        "summary": "Get a portout request",
        "description": "Returns the portout request based on the ID provided",
        "operationId": "FindPortoutRequest",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PortoutResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/{id}/comments": {
      "get": {
        "summary": "List all comments for a portout request",
        "description": "Returns a list of comments for a portout request.",
        "operationId": "FindPortoutComments",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListPortoutComments"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a comment on a portout request",
        "description": "Creates a comment on a portout request.",
        "operationId": "PostPortRequestComment",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string",
                    "description": "Comment to post on this portout request"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/PortoutCommentResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/{id}/supporting_documents": {
      "get": {
        "summary": "List supporting documents on a portout request",
        "description": "List every supporting documents for a portout request.",
        "operationId": "GetPortRequestSupportingDocuments",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/components/responses/PortOutListSupportingDocumentsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a list of supporting documents on a portout request",
        "description": "Creates a list of supporting documents on a portout request.",
        "operationId": "PostPortRequestSupportingDocuments",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "documents": {
                    "type": "array",
                    "description": "List of supporting documents parameters",
                    "minItems": 1,
                    "maxItems": 10,
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "document_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "loa",
                            "invoice"
                          ],
                          "description": "Identifies the type of the document",
                          "example": "loa"
                        },
                        "document_id": {
                          "format": "uuid",
                          "type": "string",
                          "description": "Identifies the associated document",
                          "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreatePortOutSupportingDocumentsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/portouts/{id}/{status}": {
      "patch": {
        "summary": "Update Status",
        "description": "Authorize or reject portout request",
        "operationId": "UpdatePortoutStatus",
        "tags": [
          "Number Portout"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Portout id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "description": "Updated portout status",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "authorized",
                "rejected-pending"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "description": "Provide a reason if rejecting the port out request",
                    "type": "string",
                    "example": "I do not recognize this transaction"
                  },
                  "host_messaging": {
                    "description": "Indicates whether messaging services should be maintained with Telnyx after the port out completes",
                    "type": "boolean",
                    "default": false,
                    "example": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PortoutResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable entity. Check message field in response for details."
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/private_wireless_gateways": {
      "get": {
        "summary": "Get all Private Wireless Gateways",
        "description": "Get all Private Wireless Gateways belonging to the user.",
        "operationId": "GetPrivateWirelessGateways",
        "tags": [
          "Private Wireless Gateways"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[name]",
            "description": "The name of the Private Wireless Gateway.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "my private gateway"
          },
          {
            "name": "filter[ip_range]",
            "description": "The IP address range of the Private Wireless Gateway.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "192.168.0.0/24"
          },
          {
            "name": "filter[region_code]",
            "description": "The name of the region where the Private Wireless Gateway is deployed.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "dc2"
          },
          {
            "name": "filter[created_at]",
            "description": "Private Wireless Gateway resource creation date.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2018-02-02T22:25:27.521Z"
          },
          {
            "name": "filter[updated_at]",
            "description": "When the Private Wireless Gateway was last updated.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2018-02-02T22:25:27.521Z"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllPrivateWirelessGatewaysResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "x-latency-category": "background",
        "summary": "Create a Private Wireless Gateway",
        "description": "Asynchronously create a Private Wireless Gateway for SIM cards for a previously created network. This operation may take several minutes so you can check the Private Wireless Gateway status at the section Get a Private Wireless Gateway.",
        "operationId": "CreatePrivateWirelessGateway",
        "tags": [
          "Private Wireless Gateways"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_id": {
                    "description": "The identification of the related network resource.",
                    "format": "uuid",
                    "type": "string",
                    "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
                  },
                  "name": {
                    "description": "The private wireless gateway name.",
                    "type": "string",
                    "example": "My private wireless gateway"
                  },
                  "region_code": {
                    "description": "The code of the region where the private wireless gateway will be assigned. A list of available regions can be found at the regions endpoint",
                    "type": "string",
                    "example": "dc2"
                  }
                },
                "required": [
                  "network_id",
                  "name"
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/CreatePrivateWirelessGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/private_wireless_gateways/{id}": {
      "delete": {
        "summary": "Delete a Private Wireless Gateway",
        "description": "Deletes the Private Wireless Gateway.",
        "operationId": "DeleteWirelessGateway",
        "tags": [
          "Private Wireless Gateways"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PrivateWirelessGatewayId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeletePrivateWirelessGatewayResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a Private Wireless Gateway",
        "description": "Retrieve information about a Private Wireless Gateway.",
        "operationId": "GetPrivateWirelessGateway",
        "tags": [
          "Private Wireless Gateways"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PrivateWirelessGatewayId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetPrivateWirelessGatewayResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/pronunciation_dicts": {
      "get": {
        "summary": "List pronunciation dictionaries",
        "description": "List all pronunciation dictionaries for the authenticated organization. Results are paginated using offset-based pagination.",
        "operationId": "ListPronunciationDicts",
        "tags": [
          "Pronunciation Dictionaries"
        ],
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "description": "Page number (1-based). Defaults to 1.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "description": "Number of results per page. Defaults to 20, maximum 250.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A paginated list of pronunciation dictionaries.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PronunciationDictListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid pagination parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Invalid or missing API key."
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Create a pronunciation dictionary",
        "description": "Create a new pronunciation dictionary for the authenticated organization. Each dictionary contains a list of items that control how specific words are spoken. Items can be alias type (text replacement) or phoneme type (IPA pronunciation notation).\n\nAs an alternative to providing items directly as JSON, you can upload a dictionary file (PLS/XML or plain text format, max 1MB) using multipart/form-data. PLS files use the standard W3C Pronunciation Lexicon Specification XML format. Text files use a line-based format: `word=alias` for aliases, `word:/phoneme/` for IPA phonemes.\n\nLimits:\n- Maximum 50 dictionaries per organization\n- Maximum 100 items per dictionary\n- Text: max 200 characters\n- Alias/phoneme value: max 500 characters\n- File upload: max 1MB (1,048,576 bytes)",
        "operationId": "CreatePronunciationDict",
        "tags": [
          "Pronunciation Dictionaries"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePronunciationDictRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "file"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Human-readable name. Must be unique within the organization.",
                    "minLength": 1,
                    "maxLength": 255,
                    "example": "Brand Names"
                  },
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Dictionary file to upload. Supported formats: PLS/XML (.pls, .xml) and plain text (.txt). Max size: 1MB (1,048,576 bytes)."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Pronunciation dictionary created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PronunciationDictResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Invalid or missing API key."
          },
          "422": {
            "description": "Validation error or organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                },
                "examples": {
                  "validation_error": {
                    "summary": "Validation failed",
                    "value": {
                      "errors": [
                        {
                          "code": "90202",
                          "title": "Validation failed",
                          "detail": "items must have at least one item",
                          "source": {
                            "pointer": "/items"
                          }
                        }
                      ]
                    }
                  },
                  "limit_exceeded": {
                    "summary": "Organization limit exceeded",
                    "value": {
                      "errors": [
                        {
                          "code": "90203",
                          "title": "Limit exceeded",
                          "detail": "Maximum number of pronunciation dictionaries (50) reached",
                          "source": {
                            "pointer": "/"
                          }
                        }
                      ]
                    }
                  },
                  "duplicate_name": {
                    "summary": "Duplicate dictionary name",
                    "value": {
                      "errors": [
                        {
                          "code": "90202",
                          "title": "Validation failed",
                          "detail": "organization_id, name a dictionary with this name already exists",
                          "source": {
                            "pointer": "/organization_id, name"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/pronunciation_dicts/{id}": {
      "delete": {
        "summary": "Delete a pronunciation dictionary",
        "description": "Permanently delete a pronunciation dictionary.",
        "operationId": "DeletePronunciationDict",
        "tags": [
          "Pronunciation Dictionaries"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pronunciation_dict_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Dictionary deleted successfully. No content returned."
          },
          "401": {
            "description": "Unauthorized. Invalid or missing API key."
          },
          "404": {
            "description": "Pronunciation dictionary not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "summary": "Get a pronunciation dictionary",
        "description": "Retrieve a single pronunciation dictionary by ID.",
        "operationId": "GetPronunciationDict",
        "tags": [
          "Pronunciation Dictionaries"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pronunciation_dict_id"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested pronunciation dictionary.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PronunciationDictResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Invalid or missing API key."
          },
          "404": {
            "description": "Pronunciation dictionary not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "90201",
                      "title": "Pronunciation dictionary not found",
                      "detail": "The requested pronunciation dictionary does not exist"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update a pronunciation dictionary",
        "description": "Update the name and/or items of an existing pronunciation dictionary. Uses optimistic locking — if the dictionary was modified concurrently, the request returns 409 Conflict.",
        "operationId": "UpdatePronunciationDict",
        "tags": [
          "Pronunciation Dictionaries"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pronunciation_dict_id"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePronunciationDictRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Pronunciation dictionary updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PronunciationDictResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Invalid or missing API key."
          },
          "404": {
            "description": "Pronunciation dictionary not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict. The dictionary was modified concurrently. Re-fetch and retry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "90200",
                      "title": "Pronunciation dictionary error",
                      "detail": "Dictionary was modified concurrently, please retry"
                    }
                  ]
                }
              }
            }
          },
          "422": {
            "description": "Validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pronunciation-dicts_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/public_internet_gateways": {
      "get": {
        "summary": "List all Public Internet Gateways",
        "description": "List all Public Internet Gateways.",
        "operationId": "ListPublicInternetGateways",
        "tags": [
          "Public Internet Gateways"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[network_id]",
            "schema": {
              "type": "object",
              "properties": {
                "network_id": {
                  "type": "string",
                  "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "description": "The associated network id to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PublicInternetGatewayListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Public Internet Gateway",
        "description": "Create a new Public Internet Gateway.",
        "operationId": "CreatePublicInternetGateway",
        "tags": [
          "Public Internet Gateways"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicInternetGatewayCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/PublicInternetGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/public_internet_gateways/{id}": {
      "delete": {
        "summary": "Delete a Public Internet Gateway",
        "description": "Delete a Public Internet Gateway.",
        "operationId": "DeletePublicInternetGateway",
        "tags": [
          "Public Internet Gateways"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PublicInternetGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Public Internet Gateway",
        "description": "Retrieve a Public Internet Gateway.",
        "operationId": "GetPublicInternetGateway",
        "tags": [
          "Public Internet Gateways"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PublicInternetGatewayResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/queues": {
      "get": {
        "summary": "List queues",
        "description": "List all queues for the authenticated user.",
        "operationId": "ListQueues",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "description": "The page number to load",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "The size of the page",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListQueuesResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Create a queue",
        "description": "Create a new call queue.",
        "operationId": "CreateQueue",
        "tags": [
          "Queue Commands"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/QueueResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/queues/{queue_name}": {
      "delete": {
        "summary": "Delete a queue",
        "description": "Delete an existing call queue.",
        "operationId": "DeleteQueue",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Queue deleted successfully."
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "summary": "Retrieve a call queue",
        "description": "Retrieve an existing call queue",
        "operationId": "RetrieveCallQueue",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QueueResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Update a queue",
        "description": "Update properties of an existing call queue.",
        "operationId": "UpdateQueue",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/QueueResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/queues/{queue_name}/calls": {
      "get": {
        "summary": "Retrieve calls from a queue",
        "description": "Retrieve the list of calls in an existing queue",
        "operationId": "ListQueueCalls",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/call-control_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListQueueCallsResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/queues/{queue_name}/calls/{call_control_id}": {
      "delete": {
        "summary": "Force remove a call from a queue",
        "description": "Removes an inactive call from a queue. If the call is no longer active, use this command to remove it from the queue.",
        "operationId": "RemoveQueueCall",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "responses": {
          "204": {
            "description": "Call successfully removed from the queue"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "summary": "Retrieve a call from a queue",
        "description": "Retrieve an existing call from an existing queue",
        "operationId": "RetrieveCallFromQueue",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/QueueCallResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update queued call",
        "description": "Update queued call's keep_after_hangup flag",
        "operationId": "UpdateCallInQueue",
        "tags": [
          "Queue Commands"
        ],
        "parameters": [
          {
            "name": "queue_name",
            "description": "Uniquely identifies the queue by name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/CallControlId"
          }
        ],
        "requestBody": {
          "description": "Update queued call request.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateQueuedCallRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Call has been successfully updated."
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/recording_transcriptions": {
      "get": {
        "summary": "List all recording transcriptions",
        "description": "Returns a list of your recording transcriptions.",
        "operationId": "getRecordingTranscriptions",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Filter recording transcriptions by various attributes.",
            "schema": {
              "type": "object",
              "properties": {
                "recording_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                  "description": "If present, transcriptions will be filtered to those associated with the given recording."
                },
                "created_at": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only transcriptions created later than or at given ISO 8601 datetime."
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only transcriptions created earlier than or at given ISO 8601 datetime."
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRecordingTranscriptionsResponse"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/recording_transcriptions/{recording_transcription_id}": {
      "delete": {
        "summary": "Delete a recording transcription",
        "description": "Permanently deletes a recording transcription.",
        "operationId": "deleteRecordingTranscription",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RecordingTranscriptionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RecordingTranscriptionResponse"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a recording transcription",
        "description": "Retrieves the details of an existing recording transcription.",
        "operationId": "getRecordingTranscription",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RecordingTranscriptionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RecordingTranscriptionResponse"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/recordings": {
      "get": {
        "summary": "List all call recordings",
        "description": "Returns a list of your call recordings.",
        "operationId": "GetRecordings",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/call-recordings_PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Filter recordings by various attributes.",
            "schema": {
              "type": "object",
              "properties": {
                "conference_id": {
                  "type": "string",
                  "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                  "description": "Returns only recordings associated with a given conference."
                },
                "created_at": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings created later than or at given ISO 8601 datetime."
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings created earlier than or at given ISO 8601 datetime."
                    }
                  }
                },
                "call_leg_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                  "description": "If present, recordings will be filtered to those with a matching call_leg_id."
                },
                "call_session_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                  "description": "If present, recordings will be filtered to those with a matching call_session_id."
                },
                "from": {
                  "type": "string",
                  "example": "1234567890",
                  "description": "If present, recordings will be filtered to those with a matching `from` attribute (case-sensitive)."
                },
                "to": {
                  "type": "string",
                  "example": "1234567890",
                  "description": "If present, recordings will be filtered to those with a matching `to` attribute (case-sensitive)."
                },
                "connection_id": {
                  "type": "string",
                  "example": "175237942907135762",
                  "description": "If present, recordings will be filtered to those with a matching `connection_id` attribute (case-sensitive)."
                },
                "sip_call_id": {
                  "type": "string",
                  "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                  "description": "If present, recordings will be filtered to those with a matching `sip_call_id` attribute. Matching is case-sensitive."
                },
                "call_control_id": {
                  "type": "string",
                  "example": "v3:e-31OnvjEM7Y4wvxr3TKNk8M3QyLcGZPiUIzCGtwQtOtEjY-B0urkw",
                  "description": "If present, recordings will be filtered to those with a matching `call_control_id`."
                },
                "conference_region": {
                  "type": "string",
                  "example": "us",
                  "description": "If present, recordings will be filtered to those with a matching `conference_region`."
                },
                "start_time": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings with a start time later than or equal to the given ISO 8601 datetime."
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings with a start time earlier than or equal to the given ISO 8601 datetime."
                    }
                  }
                },
                "end_time": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings with an end time later than or equal to the given ISO 8601 datetime."
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Returns only recordings with an end time earlier than or equal to the given ISO 8601 datetime."
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RecordingsResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/call-recordings_InternalServerErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/recordings/actions/delete": {
      "post": {
        "summary": "Delete a list of call recordings",
        "description": "Permanently deletes a list of call recordings.",
        "operationId": "DeleteRecordings",
        "tags": [
          "Call Recordings"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteRecordingsRequest"
        },
        "responses": {
          "200": {
            "description": "The recordings have been successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ],
                      "example": "ok"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/recordings/{recording_id}": {
      "delete": {
        "summary": "Delete a call recording",
        "description": "Permanently deletes a call recording.",
        "operationId": "DeleteRecording",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RecordingId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RecordingResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a call recording",
        "description": "Retrieves the details of an existing call recording.",
        "operationId": "GetRecording",
        "tags": [
          "Call Recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RecordingId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RecordingResponseBody"
          },
          "401": {
            "$ref": "#/components/responses/call-recordings_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-recordings_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/call-recordings_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/regions": {
      "get": {
        "summary": "List all Regions",
        "description": "List all regions and the interfaces that region supports",
        "operationId": "ListRegions",
        "tags": [
          "Regions"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RegionListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/regulatory_requirements": {
      "get": {
        "summary": "Retrieve regulatory requirements",
        "operationId": "ListRegulatoryRequirements",
        "tags": [
          "Regulatory Requirements"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number], filter[requirement_group_id], filter[country_code], filter[phone_number_type], filter[action]",
            "schema": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "example": "+41215470622",
                  "description": "Phone number to check requirements for"
                },
                "requirement_group_id": {
                  "type": "string",
                  "example": "d4c0b4a6-7bd2-40c5-a3b9-2acd99e212b2",
                  "description": "ID of requirement group to check requirements for"
                },
                "country_code": {
                  "type": "string",
                  "example": "DE",
                  "description": "Country code(iso2) to check requirements for"
                },
                "phone_number_type": {
                  "type": "string",
                  "enum": [
                    "local",
                    "toll_free",
                    "mobile",
                    "national",
                    "shared_cost"
                  ],
                  "description": "Phone number type to check requirements for"
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "ordering",
                    "porting",
                    "action"
                  ],
                  "description": "Action to check requirements for"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listRegulatoryRequirements"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/reports/cdr_usage_reports/sync": {
      "get": {
        "tags": [
          "CDR Usage Reports"
        ],
        "description": "Generate and fetch voice usage report synchronously. This endpoint will both generate and fetch the voice report over a specified time period. No polling is necessary but the response may take up to a couple of minutes. ",
        "summary": "Generates and fetches CDR Usage Reports",
        "operationId": "GetCDRUsageReportSync",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-01T00:00:00-06:00"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-01T00:00:00-06:00"
            }
          },
          {
            "name": "aggregation_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "NO_AGGREGATION",
              "enum": [
                "NO_AGGREGATION",
                "CONNECTION",
                "TAG",
                "BILLING_GROUP"
              ]
            }
          },
          {
            "name": "product_breakdown",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "NO_BREAKDOWN",
              "enum": [
                "NO_BREAKDOWN",
                "DID_VS_TOLL_FREE",
                "COUNTRY",
                "DID_VS_TOLL_FREE_PER_COUNTRY"
              ]
            }
          },
          {
            "name": "connections",
            "in": "query",
            "schema": {
              "type": "array",
              "example": [
                1234567890123
              ],
              "items": {
                "type": "number",
                "example": 1234567890123
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CdrGetSyncUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "background"
      }
    },
    "/reports/mdr_usage_reports": {
      "get": {
        "tags": [
          "MDR Usage Reports"
        ],
        "description": "Fetch all messaging usage reports. Usage reports are aggregated messaging data for specified time period and breakdown",
        "summary": "Fetch all Messaging usage reports",
        "operationId": "GetMdrUsageReports",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "format": "int32",
                  "default": 1,
                  "description": "Page number"
                },
                "size": {
                  "type": "integer",
                  "format": "int32",
                  "default": 20,
                  "description": "Size of the page"
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "Default pagination with first page and 20 records per page"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Second page with 20 records per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "First page with 50 records per page"
              },
              "page[number]=5&page[size]=100": {
                "value": {
                  "number": 5,
                  "size": 100
                },
                "summary": "Fifth page with 100 records per page"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      },
      "post": {
        "tags": [
          "MDR Usage Reports"
        ],
        "description": "Submit request for new new messaging usage report. This endpoint will pull and aggregate messaging data in specified time period. ",
        "summary": "Create MDR Usage Report",
        "operationId": "SubmitUsageReport",
        "requestBody": {
          "description": "Mdr usage report data",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/MdrPostUsageReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrPostUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "background"
      }
    },
    "/reports/mdr_usage_reports/sync": {
      "get": {
        "tags": [
          "MDR Usage Reports"
        ],
        "description": "Generate and fetch messaging usage report synchronously. This endpoint will both generate and fetch the messaging report over a specified time period. No polling is necessary but the response may take up to a couple of minutes. ",
        "summary": "Generate and fetch MDR Usage Report",
        "operationId": "GetMDRUsageReportSync",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-01T00:00:00-06:00"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2020-07-01T00:00:00-06:00"
            }
          },
          {
            "name": "aggregation_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "PROFILE",
              "enum": [
                "NO_AGGREGATION",
                "PROFILE",
                "TAGS"
              ]
            }
          },
          {
            "name": "profiles",
            "in": "query",
            "schema": {
              "type": "array",
              "example": [
                "My profile"
              ],
              "items": {
                "type": "string",
                "example": "My profile"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetSyncUsageReportResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "background"
      }
    },
    "/reports/mdr_usage_reports/{id}": {
      "delete": {
        "tags": [
          "MDR Usage Reports"
        ],
        "description": "Delete messaging usage report by id",
        "summary": "Delete MDR Usage Report",
        "operationId": "DeleteUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrDeleteUsageReportsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      },
      "get": {
        "tags": [
          "MDR Usage Reports"
        ],
        "description": "Fetch a single messaging usage report by id",
        "summary": "Retrieve messaging report",
        "operationId": "GetUsageReport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetUsageReportsByIdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      }
    },
    "/reports/mdrs": {
      "get": {
        "tags": [
          "MDR Detail Reports"
        ],
        "description": "Fetch all Mdr records ",
        "summary": "Fetch all Mdr records",
        "operationId": "GetPaginatedMdrs",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Pagination start date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Pagination end date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Message uuid",
              "example": "e093fbe0-5bde-11eb-ae93-0242ac130002"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Direction (inbound or outbound)",
              "example": "INBOUND",
              "enum": [
                "INBOUND",
                "OUTBOUND"
              ]
            }
          },
          {
            "name": "profile",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Name of the profile",
              "example": "My profile"
            }
          },
          {
            "name": "cld",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Destination number",
              "example": "+15551237654"
            }
          },
          {
            "name": "cli",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Origination number",
              "example": "+15551237654"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Message status",
              "example": "DELIVERED",
              "enum": [
                "GW_TIMEOUT",
                "DELIVERED",
                "DLR_UNCONFIRMED",
                "DLR_TIMEOUT",
                "RECEIVED",
                "GW_REJECT",
                "FAILED"
              ]
            }
          },
          {
            "name": "message_type",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Type of message",
              "example": "SMS",
              "enum": [
                "SMS",
                "MMS"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MdrGetDetailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      }
    },
    "/reports/wdrs": {
      "get": {
        "tags": [
          "WDR Detail Reports"
        ],
        "description": "Fetch all Wdr records ",
        "summary": "Fetches all Wdr records",
        "operationId": "GetPaginatedWdrs",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date",
            "schema": {
              "type": "string",
              "example": "2021-05-01T00:00:00Z"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date",
            "schema": {
              "type": "string",
              "example": "2021-06-01T00:00:00Z"
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "WDR uuid",
              "example": "e093fbe0-5bde-11eb-ae93-0242ac130002"
            }
          },
          {
            "name": "mcc",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Mobile country code",
              "example": "204"
            }
          },
          {
            "name": "mnc",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Mobile network code",
              "example": "01"
            }
          },
          {
            "name": "imsi",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "International mobile subscriber identity",
              "example": "123456"
            }
          },
          {
            "name": "sim_group_name",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Sim group name",
              "example": "sim name"
            }
          },
          {
            "name": "sim_group_id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Sim group unique identifier",
              "example": "f05a189f-7c46-4531-ac56-1460dc465a42"
            }
          },
          {
            "name": "sim_card_id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Sim card unique identifier",
              "example": "877f80a6-e5b2-4687-9a04-88076265720f"
            }
          },
          {
            "name": "phone_number",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Phone number",
              "example": "+12345678910"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Field used to order the data. If no field is specified, default value is 'created_at'",
              "example": [
                "created_at"
              ],
              "default": [
                "created_at"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "type": "integer",
                  "format": "int32",
                  "default": 1,
                  "description": "Page number"
                },
                "size": {
                  "type": "integer",
                  "format": "int32",
                  "default": 20,
                  "description": "Size of the page"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalWdrGetDetailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/wireless-public_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/reputation/numbers": {
      "get": {
        "summary": "List reputation phone numbers (simplified)",
        "operationId": "ListReputationNumbersSimplified",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "List all phone numbers enrolled in Number Reputation monitoring for your account. This is a simplified endpoint that does not require an `enterprise_id` — it returns numbers across all your enterprises.\n\nSupports pagination and filtering by phone number.",
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "description": "Page number (1-indexed)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "Number of items per page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "phone_number",
            "in": "query",
            "description": "Filter by specific phone number (E.164 format)",
            "schema": {
              "type": "string",
              "example": "+16035551234"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of phone numbers with reputation data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReputationPhoneNumberListWithReputation"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/reputation/numbers/{phone_number}": {
      "delete": {
        "summary": "Disassociate a phone number (simplified)",
        "operationId": "DisassociateReputationNumberSimplified",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "Remove a phone number from Number Reputation monitoring without requiring an `enterprise_id`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/PhoneNumber"
          }
        ],
        "responses": {
          "204": {
            "description": "Phone number disassociated successfully"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get reputation data for a phone number (simplified)",
        "operationId": "GetPhoneNumberReputationSimplified",
        "tags": [
          "Reputation Phone Numbers"
        ],
        "description": "Get reputation data for a specific phone number without requiring an `enterprise_id`.\n\nSame response as the enterprise-scoped endpoint. Uses cached data by default.",
        "parameters": [
          {
            "$ref": "#/components/parameters/PhoneNumber"
          },
          {
            "name": "fresh",
            "in": "query",
            "description": "When true, fetches fresh reputation data (incurs API cost). When false, returns cached data.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Phone number reputation data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReputationPhoneNumberWithReputation"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/requirement_groups": {
      "get": {
        "summary": "List requirement groups",
        "operationId": "GetRequirementGroups",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[country_code], filter[phone_number_type], filter[action], filter[status], filter[customer_reference]",
            "schema": {
              "type": "object",
              "properties": {
                "country_code": {
                  "type": "string",
                  "description": "Filter requirement groups by country code (iso alpha 2)"
                },
                "phone_number_type": {
                  "type": "string",
                  "enum": [
                    "local",
                    "toll_free",
                    "mobile",
                    "national",
                    "shared_cost"
                  ],
                  "description": "Filter requirement groups by phone number type."
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "ordering",
                    "porting",
                    "action"
                  ],
                  "description": "Filter requirement groups by action type"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "approved",
                    "unapproved",
                    "pending-approval",
                    "declined",
                    "expired"
                  ],
                  "description": "Filter requirement groups by status"
                },
                "customer_reference": {
                  "type": "string",
                  "description": "Filter requirement groups by customer reference"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List requirement groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RequirementGroup"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a new requirement group",
        "operationId": "CreateRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "country_code": {
                    "type": "string",
                    "description": "ISO alpha 2 country code",
                    "example": "US"
                  },
                  "phone_number_type": {
                    "type": "string",
                    "enum": [
                      "local",
                      "toll_free",
                      "mobile",
                      "national",
                      "shared_cost"
                    ],
                    "example": "local"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "ordering",
                      "porting"
                    ],
                    "example": "ordering"
                  },
                  "customer_reference": {
                    "type": "string",
                    "example": "My Requirement Group"
                  },
                  "regulatory_requirements": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "requirement_id": {
                          "type": "string"
                        },
                        "field_value": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "country_code",
                  "phone_number_type",
                  "action"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Requirement group created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementGroup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/requirement_groups/{id}": {
      "delete": {
        "summary": "Delete a requirement group by ID",
        "operationId": "DeleteRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID of the requirement group"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted requirement group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementGroup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a single requirement group by ID",
        "operationId": "GetRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID of the requirement group to retrieve"
          }
        ],
        "responses": {
          "200": {
            "description": "A single requirement group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementGroup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update requirement values in requirement group",
        "operationId": "UpdateRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID of the requirement group"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "customer_reference": {
                    "type": "string",
                    "example": "0002",
                    "description": "Reference for the customer"
                  },
                  "regulatory_requirements": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "requirement_id": {
                          "type": "string",
                          "example": "53970723-fbff-4f46-a975-f62be6c1a585",
                          "description": "Unique identifier for the regulatory requirement"
                        },
                        "field_value": {
                          "type": "string",
                          "example": "new requirement value",
                          "description": "New value for the regulatory requirement"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated requirement group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementGroup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/requirement_groups/{id}/submit_for_approval": {
      "post": {
        "summary": "Submit a Requirement Group for Approval",
        "operationId": "SubmitRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID of the requirement group to submit"
          }
        ],
        "responses": {
          "200": {
            "description": "A single requirement group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementGroup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/requirement_types": {
      "get": {
        "summary": "List all requirement types",
        "description": "List all requirement types ordered by created_at descending",
        "operationId": "ListRequirementTypes",
        "x-latency-category": "responsive",
        "tags": [
          "Requirement Types"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterRequirementTypesConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortRequirementTypesConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocReqsListRequirementTypesResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/requirement_types/{id}": {
      "get": {
        "summary": "Retrieve a requirement types",
        "description": "Retrieve a requirement type by id",
        "operationId": "RetrieveRequirementType",
        "x-latency-category": "responsive",
        "tags": [
          "Requirement Types"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/DocReqsRequirementTypeId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocReqsRequirementTypeResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/requirements": {
      "get": {
        "summary": "List all requirements",
        "description": "List all requirements with filtering, sorting, and pagination",
        "operationId": "ListRequirements",
        "x-latency-category": "responsive",
        "tags": [
          "Requirements"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterRequirementsConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortRequirementsConsolidated"
          },
          {
            "$ref": "#/components/parameters/documents_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRequirementsResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/requirements/{id}": {
      "get": {
        "summary": "Retrieve a document requirement",
        "description": "Retrieve a document requirement record",
        "operationId": "RetrieveDocumentRequirements",
        "x-latency-category": "responsive",
        "tags": [
          "Requirements"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/DocReqsRequirementId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocReqsRequirementResponse"
          },
          "422": {
            "description": "Unprocessable entity. Check the 'detail' field in response for details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/documents_Errors"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/documents_GenericErrorResponse"
          }
        }
      }
    },
    "/room_compositions": {
      "get": {
        "summary": "View a list of room compositions.",
        "description": "",
        "operationId": "ListRoomCompositions",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Compositions"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[session_id], filter[status]",
            "schema": {
              "type": "object",
              "properties": {
                "date_created_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room compositions created on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room compositions created on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room compositions created on or before that date."
                    }
                  }
                },
                "session_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "92e7d459-bcc5-4386-9f5f-6dd14a82588d",
                  "description": "The session_id for filtering room compositions."
                },
                "status": {
                  "type": "string",
                  "example": "completed",
                  "enum": [
                    "completed",
                    "processing",
                    "enqueued"
                  ],
                  "description": "The status for filtering room compositions."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomCompositionsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a room composition.",
        "description": "Asynchronously create a room composition.",
        "operationId": "CreateRoomComposition",
        "tags": [
          "Room Compositions"
        ],
        "x-endpoint-cost": "heavy",
        "requestBody": {
          "description": "Parameters that can be defined during room composition creation.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoomCompositionRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/CreateRoomCompositionResponse"
          },
          "422": {
            "$ref": "#/components/responses/video_UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_compositions/{room_composition_id}": {
      "delete": {
        "summary": "Delete a room composition.",
        "description": "Synchronously delete a room composition.",
        "operationId": "DeleteRoomComposition",
        "tags": [
          "Room Compositions"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "room_composition_id",
            "in": "path",
            "description": "The unique identifier of a room composition.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "5219b3af-87c6-4c08-9b58-5a533d893e21"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "View a room composition.",
        "operationId": "ViewRoomComposition",
        "tags": [
          "Room Compositions"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "room_composition_id",
            "in": "path",
            "description": "The unique identifier of a room composition.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "5219b3af-87c6-4c08-9b58-5a533d893e21"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRoomCompositionResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_participants": {
      "get": {
        "summary": "View a list of room participants.",
        "description": "",
        "operationId": "ListRoomParticipants",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Participants"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_joined_at][eq], filter[date_joined_at][gte], filter[date_joined_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_left_at][eq], filter[date_left_at][gte], filter[date_left_at][lte], filter[context], filter[session_id]",
            "schema": {
              "type": "object",
              "properties": {
                "date_joined_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on or before that date."
                    }
                  }
                },
                "date_updated_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on or before that date."
                    }
                  }
                },
                "date_left_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on or before that date."
                    }
                  }
                },
                "context": {
                  "type": "string",
                  "example": "Alice",
                  "description": "Filter room participants based on the context."
                },
                "session_id": {
                  "type": "string",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "Session_id for filtering room participants."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomParticipantsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_participants/{room_participant_id}": {
      "get": {
        "summary": "View a room participant.",
        "operationId": "ViewRoomParticipant",
        "tags": [
          "Room Participants"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "room_participant_id",
            "in": "path",
            "description": "The unique identifier of a room participant.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRoomParticipantResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_recordings": {
      "delete": {
        "summary": "Delete several room recordings in a bulk.",
        "description": "",
        "operationId": "DeleteRoomRecordings",
        "x-endpoint-cost": "heavy",
        "tags": [
          "Room Recordings"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[date_started_at][eq], filter[date_started_at][gte], filter[date_started_at][lte], filter[room_id], filter[participant_id], filter[session_id], filter[status], filter[type], filter[duration_secs]",
            "schema": {
              "type": "object",
              "properties": {
                "date_ended_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on or before that date."
                    }
                  }
                },
                "date_started_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on or before that date."
                    }
                  }
                },
                "room_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "room_id for filtering room recordings."
                },
                "participant_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "participant_id for filtering room recordings."
                },
                "session_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "session_id for filtering room recordings."
                },
                "status": {
                  "type": "string",
                  "example": "completed",
                  "description": "status for filtering room recordings."
                },
                "type": {
                  "type": "string",
                  "example": "audio",
                  "description": "type for filtering room recordings."
                },
                "duration_secs": {
                  "type": "integer",
                  "example": 20,
                  "description": "duration_secs greater or equal for filtering room recordings."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/components/responses/BulkDeleteRoomRecordingsResponse"
          },
          "422": {
            "$ref": "#/components/responses/video_UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "View a list of room recordings.",
        "description": "",
        "operationId": "ListRoomRecordings",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Recordings"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[date_started_at][eq], filter[date_started_at][gte], filter[date_started_at][lte], filter[room_id], filter[participant_id], filter[session_id], filter[status], filter[type], filter[duration_secs]",
            "schema": {
              "type": "object",
              "properties": {
                "date_ended_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings ended on or before that date."
                    }
                  }
                },
                "date_started_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room recordings started on or before that date."
                    }
                  }
                },
                "room_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "room_id for filtering room recordings."
                },
                "participant_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "participant_id for filtering room recordings."
                },
                "session_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "session_id for filtering room recordings."
                },
                "status": {
                  "type": "string",
                  "example": "completed",
                  "description": "status for filtering room recordings."
                },
                "type": {
                  "type": "string",
                  "example": "audio",
                  "description": "type for filtering room recordings."
                },
                "duration_secs": {
                  "type": "integer",
                  "example": 20,
                  "description": "duration_secs greater or equal for filtering room recordings."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomRecordingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_recordings/{room_recording_id}": {
      "delete": {
        "summary": "Delete a room recording.",
        "description": "Synchronously delete a Room Recording.",
        "operationId": "DeleteRoomRecording",
        "tags": [
          "Room Recordings"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "room_recording_id",
            "in": "path",
            "description": "The unique identifier of a room recording.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "View a room recording.",
        "operationId": "ViewRoomRecording",
        "tags": [
          "Room Recordings"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "room_recording_id",
            "in": "path",
            "description": "The unique identifier of a room recording.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRoomRecordingResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions": {
      "get": {
        "summary": "View a list of room sessions.",
        "description": "",
        "operationId": "ListRoomSessions",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "parameters": [
          {
            "name": "include_participants",
            "in": "query",
            "description": "To decide if room participants should be included in the response.",
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[room_id], filter[active]",
            "schema": {
              "type": "object",
              "properties": {
                "date_created_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on or before that date."
                    }
                  }
                },
                "date_updated_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on or before that date."
                    }
                  }
                },
                "date_ended_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on or before that date."
                    }
                  }
                },
                "room_id": {
                  "type": "string",
                  "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                  "description": "Room_id for filtering room sessions."
                },
                "active": {
                  "type": "boolean",
                  "example": true,
                  "description": "Filter active or inactive room sessions."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomSessionsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}": {
      "get": {
        "summary": "View a room session.",
        "operationId": "ViewRoomSession",
        "tags": [
          "Room Sessions"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          },
          {
            "name": "include_participants",
            "in": "query",
            "description": "To decide if room participants should be included in the response.",
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRoomSessionResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}/actions/end": {
      "post": {
        "summary": "End a room session.",
        "description": "Note: this will also kick all participants currently present in the room",
        "operationId": "EndSession",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "security": [],
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActionSuccessResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}/actions/kick": {
      "post": {
        "summary": "Kick participants from a room session.",
        "description": "",
        "operationId": "KickParticipantInSession",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "security": [],
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during Kick action.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionsParticipantsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActionSuccessResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}/actions/mute": {
      "post": {
        "summary": "Mute participants in room session.",
        "description": "",
        "operationId": "MuteParticipantInSession",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "security": [],
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during Mute action.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionsParticipantsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActionSuccessResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}/actions/unmute": {
      "post": {
        "summary": "Unmute participants in room session.",
        "description": "",
        "operationId": "UnmuteParticipantInSession",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "security": [],
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during Unmute action.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionsParticipantsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActionSuccessResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/room_sessions/{room_session_id}/participants": {
      "get": {
        "summary": "View a list of room participants.",
        "description": "",
        "operationId": "RetrieveListRoomParticipants",
        "x-endpoint-cost": "medium",
        "tags": [
          "Room Sessions"
        ],
        "parameters": [
          {
            "name": "room_session_id",
            "in": "path",
            "description": "The unique identifier of a room session.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_joined_at][eq], filter[date_joined_at][gte], filter[date_joined_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_left_at][eq], filter[date_left_at][gte], filter[date_left_at][lte], filter[context]",
            "schema": {
              "type": "object",
              "properties": {
                "date_joined_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that joined on or before that date."
                    }
                  }
                },
                "date_updated_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants updated on or before that date."
                    }
                  }
                },
                "date_left_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room participants that left on or before that date."
                    }
                  }
                },
                "context": {
                  "type": "string",
                  "example": "Alice",
                  "description": "Filter room participants based on the context."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomParticipantsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/rooms": {
      "get": {
        "summary": "View a list of rooms.",
        "description": "",
        "operationId": "ListRooms",
        "x-endpoint-cost": "medium",
        "tags": [
          "Rooms"
        ],
        "parameters": [
          {
            "name": "include_sessions",
            "in": "query",
            "description": "To decide if room sessions should be included in the response.",
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[unique_name]",
            "schema": {
              "type": "object",
              "properties": {
                "date_created_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms created on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms created on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms created on or before that date."
                    }
                  }
                },
                "date_updated_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms updated on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms updated on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering rooms updated on or before that date."
                    }
                  }
                },
                "unique_name": {
                  "type": "string",
                  "example": "my_video_room",
                  "description": "Unique_name for filtering rooms."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a room.",
        "description": "Synchronously create a Room.",
        "operationId": "CreateRoom",
        "tags": [
          "Rooms"
        ],
        "x-endpoint-cost": "medium",
        "requestBody": {
          "description": "Parameters that can be defined during room creation.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoomRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateRoomResponse"
          },
          "422": {
            "$ref": "#/components/responses/video_UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/rooms/{room_id}": {
      "delete": {
        "summary": "Delete a room.",
        "description": "Synchronously delete a Room. Participants from that room will be kicked out, they won't be able to join that room anymore, and you won't be charged anymore for that room.",
        "operationId": "DeleteRoom",
        "tags": [
          "Rooms"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "View a room.",
        "operationId": "ViewRoom",
        "tags": [
          "Rooms"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          },
          {
            "name": "include_sessions",
            "in": "query",
            "description": "To decide if room sessions should be included in the response.",
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRoomResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a room.",
        "description": "Synchronously update a Room.",
        "operationId": "UpdateRoom",
        "tags": [
          "Rooms"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during room update.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRoomRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PatchRoomResponse"
          },
          "401": {
            "$ref": "#/components/responses/video_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/video_ResourceNotFound"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/rooms/{room_id}/actions/generate_join_client_token": {
      "post": {
        "summary": "Create Client Token to join a room.",
        "description": "Synchronously create an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after `token_ttl_secs`, a Refresh Token is also provided to refresh a Client Token, the Refresh Token expires after `refresh_token_ttl_secs`.",
        "operationId": "CreateRoomClientToken",
        "tags": [
          "Rooms Client Tokens"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during Room Client Token creation.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoomClientTokenRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateRoomClientTokenResponse"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/rooms/{room_id}/actions/refresh_client_token": {
      "post": {
        "summary": "Refresh Client Token to join a room.",
        "description": "Synchronously refresh an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after `token_ttl_secs`.",
        "operationId": "RefreshRoomClientToken",
        "tags": [
          "Rooms Client Tokens"
        ],
        "x-endpoint-cost": "light",
        "security": [],
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be defined during Room Client Token refresh.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshRoomClientTokenRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/RefreshRoomClientTokenResponse"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/rooms/{room_id}/sessions": {
      "get": {
        "summary": "View a list of room sessions.",
        "description": "",
        "operationId": "RetrieveListRoomSessions",
        "x-endpoint-cost": "medium",
        "tags": [
          "Rooms"
        ],
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "description": "The unique identifier of a room.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
            }
          },
          {
            "name": "include_participants",
            "in": "query",
            "description": "To decide if room participants should be included in the response.",
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[active]",
            "schema": {
              "type": "object",
              "properties": {
                "date_created_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions created on or before that date."
                    }
                  }
                },
                "date_updated_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions updated on or before that date."
                    }
                  }
                },
                "date_ended_at": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on that date."
                    },
                    "gte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on or after that date."
                    },
                    "lte": {
                      "type": "string",
                      "format": "date",
                      "example": "2021-04-25",
                      "description": "ISO 8601 date for filtering room sessions ended on or before that date."
                    }
                  }
                },
                "active": {
                  "type": "boolean",
                  "example": true,
                  "description": "Filter active or inactive room sessions."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/video_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRoomSessionsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/video_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/session_analysis/metadata": {
      "get": {
        "tags": [
          "Session Analysis"
        ],
        "summary": "Get metadata overview",
        "description": "Returns all available record types and supported query parameters for session analysis.",
        "operationId": "GetSessionAnalysisMetadata",
        "responses": {
          "200": {
            "description": "Metadata overview",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetadataOverviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/session_analysis/metadata/{record_type}": {
      "get": {
        "tags": [
          "Session Analysis"
        ],
        "summary": "Get record type metadata",
        "description": "Returns detailed metadata for a specific record type, including relationships and examples.",
        "operationId": "GetSessionAnalysisRecordTypeMetadata",
        "parameters": [
          {
            "name": "record_type",
            "in": "path",
            "required": true,
            "description": "The record type identifier (e.g. \"call-control\").",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Record type metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordTypeMetadataResponse"
                }
              }
            }
          },
          "404": {
            "description": "Record type not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/session_analysis/{record_type}/{event_id}": {
      "get": {
        "tags": [
          "Session Analysis"
        ],
        "summary": "Get session analysis",
        "description": "Retrieves a full session analysis tree for a given event, including costs, child events, and product linkages.",
        "operationId": "GetSessionAnalysis",
        "parameters": [
          {
            "name": "record_type",
            "in": "path",
            "required": true,
            "description": "The record type identifier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "description": "The event identifier (UUID).",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "include_children",
            "in": "query",
            "required": false,
            "description": "Whether to include child events in the response.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "description": "Maximum traversal depth for the event tree.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5,
              "default": 2
            }
          },
          {
            "name": "expand",
            "in": "query",
            "required": false,
            "description": "Controls what data to expand on each event node.",
            "schema": {
              "type": "string",
              "enum": [
                "record",
                "none"
              ],
              "default": "record"
            }
          },
          {
            "name": "date_time",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp or date to narrow index selection for faster lookups. Accepts full datetime (e.g., 2026-03-17T10:00:00Z) or date-only format (e.g., 2026-03-17).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Session analysis result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisResponse"
                },
                "example": {
                  "session_id": "call-123",
                  "cost": {
                    "total": "0.056800",
                    "currency": "USD"
                  },
                  "root": {
                    "id": "call-123",
                    "product": "callcontrol-cdrs",
                    "event_name": "callcontrol-cdrs",
                    "relationship": null,
                    "cost": {
                      "event_cost": "0.001800",
                      "cumulative_cost": "0.056800",
                      "currency": "USD"
                    },
                    "links": {
                      "self": "/v2/session_analysis/callcontrol-cdrs/call-123",
                      "records": "/v2/detail_records?record_type=callcontrol-cdrs&id=call-123"
                    },
                    "record": {},
                    "children": []
                  },
                  "meta": {
                    "event_count": 3,
                    "products": [
                      "ai-voice-assistant",
                      "callcontrol-cdrs",
                      "inference"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Event not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionAnalysisErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/seti/black_box_test_results": {
      "get": {
        "summary": "Retrieve Black Box Test Results",
        "description": "Returns the results of the various black box tests",
        "operationId": "GetBlackBoxTestResults",
        "tags": [
          "SETI Observability"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[product]",
            "schema": {
              "type": "object",
              "properties": {
                "product": {
                  "type": "string",
                  "description": "Filter results for a specific product."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BlackBoxTestResultsResponse"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/short_codes": {
      "get": {
        "summary": "List short codes",
        "operationId": "ListShortCodes",
        "tags": [
          "Short Codes"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[messaging_profile_id]",
            "schema": {
              "type": "object",
              "properties": {
                "messaging_profile_id": {
                  "type": "string",
                  "description": "Filter by Messaging Profile ID. Use the string `null` for phone numbers without assigned profiles. A synonym for the `/messaging_profiles/{id}/short_codes` endpoint when querying about an extant profile."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListShortCodesResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/short_codes/{id}": {
      "get": {
        "summary": "Retrieve a short code",
        "operationId": "RetrieveShortCode",
        "tags": [
          "Short Codes"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ShortCodeId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShortCodeResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update short code",
        "operationId": "UpdateShortCode",
        "description": "Update the settings for a specific short code. To unbind a short code from a profile, set the `messaging_profile_id` to `null` or an empty string.\nTo add or update tags, include the tags field as an array of strings.",
        "tags": [
          "Short Codes"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ShortCodeId"
          }
        ],
        "requestBody": {
          "description": "Short code update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateShortCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ShortCodeResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_actions": {
      "get": {
        "operationId": "ListSimCardActions",
        "summary": "List SIM card actions",
        "description": "This API lists a paginated collection of SIM card actions. It enables exploring a collection of existing asynchronous operations using specific filters.",
        "tags": [
          "SIM Card Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterSIMCardActionsConsolidated"
          },
          {
            "$ref": "#/components/parameters/wireless_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SimCardActionCollectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_actions/{id}": {
      "get": {
        "operationId": "GetSimCardAction",
        "summary": "Get SIM card action details",
        "description": "This API fetches detailed information about a SIM card action to follow-up on an existing asynchronous operation.",
        "tags": [
          "SIM Card Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_data_usage_notifications": {
      "get": {
        "x-latency-category": "background",
        "operationId": "ListDataUsageNotifications",
        "summary": "List SIM card data usage notifications",
        "description": "Lists a paginated collection of SIM card data usage notifications. It enables exploring the collection using specific filters.",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "$ref": "#/components/parameters/FilterSIMCardId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SimCardDataUsageNotificationCollectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      },
      "post": {
        "operationId": "PostSimCardDataUsageNotification",
        "summary": "Create a new SIM card data usage notification",
        "description": "Creates a new SIM card data usage notification.",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sim_card_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The identification UUID of the related SIM card resource.",
                    "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
                  },
                  "threshold": {
                    "type": "object",
                    "description": "Data usage threshold that will trigger the notification.",
                    "properties": {
                      "amount": {
                        "type": "string",
                        "example": "2048.1"
                      },
                      "unit": {
                        "type": "string",
                        "example": "MB",
                        "enum": [
                          "MB",
                          "GB"
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "sim_card_id",
                  "threshold"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateSimCardDataUsageNotificationResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_data_usage_notifications/{id}": {
      "delete": {
        "operationId": "DeleteSimCardDataUsageNotifications",
        "summary": "Delete SIM card data usage notifications",
        "description": "Delete the SIM Card Data Usage Notification.",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteSimCardDataUsageNotificationResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "x-latency-category": "background",
        "operationId": "GetSimCardDataUsageNotification",
        "summary": "Get a single SIM card data usage notification",
        "description": "Get a single SIM Card Data Usage Notification.",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSimCardDataUsageNotificationResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      },
      "patch": {
        "operationId": "PatchSimCardDataUsageNotification",
        "summary": "Updates information for a SIM Card Data Usage Notification",
        "description": "Updates information for a SIM Card Data Usage Notification.",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SimCardDataUsageNotification"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateSimCardDataUsageNotificationResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_group_actions": {
      "get": {
        "operationId": "GetSimCardGroupActions",
        "summary": "List SIM card group actions",
        "description": "This API allows listing a paginated collection a SIM card group actions. It allows to explore a collection of existing asynchronous operation using specific filters.",
        "tags": [
          "SIM Card Group Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "$ref": "#/components/parameters/FilterSIMCardGroupId"
          },
          {
            "$ref": "#/components/parameters/FilterBasicStatusLifecycle"
          },
          {
            "name": "filter[type]",
            "description": "Filter by action type.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "set_private_wireless_gateway",
                "remove_private_wireless_gateway",
                "set_wireless_blocklist",
                "remove_wireless_blocklist"
              ],
              "example": "set_private_wireless_gateway"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SimCardGroupActionCollectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_group_actions/{id}": {
      "get": {
        "operationId": "GetSimCardGroupAction",
        "summary": "Get SIM card group action details",
        "description": "This API allows fetching detailed information about a SIM card group action resource to make follow-ups in an existing asynchronous operation.",
        "tags": [
          "SIM Card Group Actions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SIMCardGroupActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_groups": {
      "get": {
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[name]",
            "description": "A valid SIM card group name.",
            "schema": {
              "type": "string",
              "example": "My Test Group"
            },
            "in": "query"
          },
          {
            "name": "filter[private_wireless_gateway_id]",
            "description": "A Private Wireless Gateway ID associated with the group.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "7606c6d3-ff7c-49c1-943d-68879e9d584d"
            },
            "in": "query"
          },
          {
            "name": "filter[wireless_blocklist_id]",
            "description": "A Wireless Blocklist ID associated with the group.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "0f3f490e-c4d3-4cf5-838a-9970f10ee259"
            },
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllSimCardGroupsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "GetAllSimCardGroups",
        "summary": "Get all SIM card groups",
        "description": "Get all SIM card groups belonging to the user that match the given filters.",
        "x-latency-category": "responsive"
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SIMCardGroupCreate"
              }
            }
          },
          "required": true
        },
        "tags": [
          "SIM Card Groups"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateSimCardGroupResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "CreateSimCardGroup",
        "summary": "Create a SIM card group",
        "description": "Creates a new SIM card group object",
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_groups/{id}": {
      "delete": {
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteSimCardGroupResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "DeleteSimCardGroup",
        "summary": "Delete a SIM card group",
        "description": "Permanently deletes a SIM card group",
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          },
          {
            "$ref": "#/components/parameters/IncludeICCIDs"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSimCardGroupResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "GetSimCardGroup",
        "summary": "Get SIM card group",
        "description": "Returns the details regarding a specific SIM card group",
        "x-latency-category": "responsive"
      },
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SIMCardGroupPatch"
              }
            }
          },
          "required": true
        },
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateSimCardGroupResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "UpdateSimCardGroup",
        "summary": "Update a SIM card group",
        "description": "Updates a SIM card group",
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_groups/{id}/actions/remove_private_wireless_gateway": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request Private Wireless Gateway removal from SIM card group",
        "description": "This action will asynchronously remove an existing Private Wireless Gateway definition from a SIM card group. Completing this operation defines that all SIM cards in the SIM card group will get their traffic handled by Telnyx's default mobile network configuration.",
        "operationId": "RemoveSimCardGroupPrivateWirelessGateway",
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardGroupActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_card_groups/{id}/actions/remove_wireless_blocklist": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request Wireless Blocklist removal from SIM card group",
        "description": "This action will asynchronously remove an existing Wireless Blocklist to all the SIMs in the SIM card group.",
        "operationId": "RemoveWirelessBlocklistForSimCardGroup",
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardGroupActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_card_groups/{id}/actions/set_private_wireless_gateway": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request Private Wireless Gateway assignment for SIM card group",
        "description": "This action will asynchronously assign a provisioned Private Wireless Gateway to the SIM card group. Completing this operation defines that all SIM cards in the SIM card group will get their traffic controlled by the associated Private Wireless Gateway. This operation will also imply that new SIM cards assigned to a group will inherit its network definitions. If it's moved to a different group that doesn't have a Private Wireless Gateway, it'll use Telnyx's default mobile network configuration.",
        "operationId": "SetPrivateWirelessGatewayForSimCardGroup",
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "private_wireless_gateway_id": {
                    "description": "The identification of the related Private Wireless Gateway resource.",
                    "format": "uuid",
                    "type": "string",
                    "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
                  }
                },
                "required": [
                  "private_wireless_gateway_id"
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardGroupActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_card_groups/{id}/actions/set_wireless_blocklist": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request Wireless Blocklist assignment for SIM card group",
        "description": "This action will asynchronously assign a Wireless Blocklist to all the SIMs in the SIM card group.",
        "operationId": "SetWirelessBlocklistForSimCardGroup",
        "tags": [
          "SIM Card Groups"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardGroupId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "wireless_blocklist_id": {
                    "description": "The identification of the related Wireless Blocklist resource.",
                    "format": "uuid",
                    "type": "string",
                    "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
                  }
                },
                "required": [
                  "wireless_blocklist_id"
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardGroupActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_card_order_preview": {
      "post": {
        "summary": "Preview SIM card orders",
        "description": "Preview SIM card order purchases.",
        "operationId": "PreviewSimCardOrders",
        "tags": [
          "SIM Card Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "quantity",
                  "address_id"
                ],
                "properties": {
                  "quantity": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "The amount of SIM cards that the user would like to purchase in the SIM card order.",
                    "example": 21
                  },
                  "address_id": {
                    "type": "string",
                    "description": "Uniquely identifies the address for the order.",
                    "example": "1293384261075731499"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardOrdersPreviewResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_orders": {
      "get": {
        "summary": "Get all SIM card orders",
        "description": "Get all SIM card orders according to filters.",
        "operationId": "GetSimCardOrders",
        "tags": [
          "SIM Card Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterSIMCardOrdersConsolidated"
          },
          {
            "$ref": "#/components/parameters/wireless_PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllSimCardOrdersResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SimCardOrderCreate"
              }
            }
          },
          "required": true
        },
        "tags": [
          "SIM Card Orders"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateSimCardOrderResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "summary": "Create a SIM card order",
        "description": "Creates a new order for SIM cards.",
        "operationId": "CreateSimCardOrder",
        "x-latency-category": "responsive"
      }
    },
    "/sim_card_orders/{id}": {
      "get": {
        "summary": "Get a single SIM card order",
        "description": "Get a single SIM card order by its ID.",
        "operationId": "GetSimCardOrder",
        "tags": [
          "SIM Card Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSimCardOrderResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards": {
      "get": {
        "summary": "Get all SIM cards",
        "description": "Get all SIM cards belonging to the user that match the given filters.",
        "operationId": "GetSimCards",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FilterSIMCardConsolidated"
          },
          {
            "$ref": "#/components/parameters/wireless_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/IncludeSIMCardGroup"
          },
          {
            "$ref": "#/components/parameters/FilterSIMCardGroupId"
          },
          {
            "name": "sort",
            "description": "Sorts SIM cards by the given field. Defaults to ascending order unless field is prefixed with a minus sign.",
            "in": "query",
            "required": false,
            "example": "-current_billing_period_consumed_data.amount",
            "schema": {
              "type": "string",
              "enum": [
                "current_billing_period_consumed_data.amount",
                "-current_billing_period_consumed_data.amount"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SearchSimCardsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/actions/bulk_disable_voice": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request bulk disabling voice on SIM cards.",
        "description": "This API triggers an asynchronous operation to disable voice on SIM cards belonging to a specified SIM Card Group.<br/>\nFor each SIM Card a SIM Card Action will be generated. The status of the SIM Card Actions can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n\nThe overall status of the Bulk SIM Card Action can be followed through the [List Bulk SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-bulk-sim-card-actions) API.\n",
        "operationId": "DisableVoiceBulk",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sim_card_group_id"
                ],
                "properties": {
                  "sim_card_group_id": {
                    "type": "string",
                    "example": "6b14e151-8493-4fa1-8664-1cc4e6d14158"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/BulkSIMCardActionResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          }
        }
      }
    },
    "/sim_cards/actions/bulk_enable_voice": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request bulk enabling voice on SIM cards.",
        "description": "This API triggers an asynchronous operation to enable voice on SIM cards belonging to a specified SIM Card Group.<br/>\nFor each SIM Card a SIM Card Action will be generated. The status of the SIM Card Actions can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n\nThe overall status of the Bulk SIM Card Action can be followed through the [List Bulk SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-bulk-sim-card-actions) API.\n",
        "operationId": "EnableVoiceBulk",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sim_card_group_id"
                ],
                "properties": {
                  "sim_card_group_id": {
                    "type": "string",
                    "example": "6b14e151-8493-4fa1-8664-1cc4e6d14158"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/BulkSIMCardActionResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          }
        }
      }
    },
    "/sim_cards/actions/bulk_set_public_ips": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request bulk setting SIM card public IPs.",
        "description": "This API triggers an asynchronous operation to set a public IP for each of the specified SIM cards.<br/>\nFor each SIM Card a SIM Card Action will be generated. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n",
        "operationId": "SetPublicIPsBulk",
        "tags": [
          "SIM Cards"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sim_card_ids"
                ],
                "properties": {
                  "sim_card_ids": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/wireless_Id"
                    },
                    "example": [
                      "6b14e151-8493-4fa1-8664-1cc4e6d14158"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/BulkSIMCardActionResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          }
        }
      }
    },
    "/sim_cards/actions/validate_registration_codes": {
      "post": {
        "summary": "Validate SIM cards registration codes",
        "tags": [
          "SIM Cards"
        ],
        "description": "It validates whether SIM card registration codes are valid or not.",
        "operationId": "ValidateRegistrationCodes",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "registration_codes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "description": "The object containing the Array of SIM card registration codes.",
                "example": {
                  "registration_codes": [
                    "123456780",
                    "1231231230"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SIMCardRegistrationCodeValidations"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/{id}": {
      "delete": {
        "summary": "Deletes a SIM card",
        "description": "The SIM card will be decommissioned, removed from your account and you will stop being charged.<br />The SIM card won't be able to connect to the network after the deletion is completed, thus making it impossible to consume data.<br/>\nTransitioning to the disabled state may take a period of time.\nUntil the transition is completed, the SIM card status will be disabling <code>disabling</code>.<br />In order to re-enable the SIM card, you will need to re-register it.",
        "operationId": "DeleteSimCard",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          },
          {
            "name": "report_lost",
            "in": "query",
            "description": "Enables deletion of disabled eSIMs that can't be uninstalled from a device. This is irreversible and the eSIM cannot be re-registered.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteSimCardResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get SIM card",
        "description": "Returns the details regarding a specific SIM card.",
        "operationId": "GetSimCard",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          },
          {
            "$ref": "#/components/parameters/IncludeSIMCardGroup"
          },
          {
            "name": "include_pin_puk_codes",
            "in": "query",
            "description": "When set to true, includes the PIN and PUK codes in the response. These codes are used for SIM card security and unlocking purposes. Available for both physical SIM cards and eSIMs.",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSimCardResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a SIM card",
        "description": "Updates SIM card data",
        "operationId": "UpdateSimCard",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SIMCard"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateSimCardResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/{id}/actions/disable": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request a SIM card disable",
        "description": "This API disables a SIM card, disconnecting it from the network and making it impossible to consume data.<br/>\nThe API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the disabled state may take a period of time. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n",
        "operationId": "DisableSimCard",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_cards/{id}/actions/enable": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request a SIM card enable",
        "description": "This API enables a SIM card, connecting it to the network and making it possible to consume data.<br/>\nTo enable a SIM card, it must be associated with a SIM card group.<br/>\nThe API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the enabled state may take a period of time. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n",
        "operationId": "EnableSimCard",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_cards/{id}/actions/remove_public_ip": {
      "post": {
        "summary": "Request removing a SIM card public IP",
        "description": "This API removes an existing public IP from a SIM card. <br/><br/>\n The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.",
        "operationId": "RemoveSimCardPublicIp",
        "tags": [
          "SIM Cards"
        ],
        "x-latency-category": "background",
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_cards/{id}/actions/set_public_ip": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request setting a SIM card public IP",
        "description": "This API makes a SIM card reachable on the public internet by mapping a random public IP to the SIM card. <br/><br/>\n The API will trigger an asynchronous operation called a SIM Card Action. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API. <br/><br/>\n Setting a Public IP to a SIM Card incurs a charge and will only succeed if the account has sufficient funds.",
        "operationId": "SetSimCardPublicIp",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          },
          {
            "name": "region_code",
            "in": "query",
            "description": "The code of the region where the public IP should be assigned. A list of available regions can be found at the regions endpoint",
            "required": false,
            "schema": {
              "type": "string",
              "example": "dc2"
            }
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_cards/{id}/actions/set_standby": {
      "post": {
        "x-latency-category": "background",
        "summary": "Request setting a SIM card to standby",
        "description": "The SIM card will be able to connect to the network once the process to set it to standby has been completed, thus making it possible to consume data.<br/>\nTo set a SIM card to standby, it must be associated with SIM card group.<br/>\nThe API will trigger an asynchronous operation called a SIM Card Action. Transitioning to the standby state may take a period of time. The status of the SIM Card Action can be followed through the [List SIM Card Action](https://developers.telnyx.com/api-reference/sim-card-actions/list-sim-card-actions) API.\n",
        "operationId": "SetSimCardStandby",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/SIMCardActionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/sim_cards/{id}/activation_code": {
      "get": {
        "summary": "Get activation code for an eSIM",
        "description": "It returns the activation code for an eSIM.<br/><br/>\n This API is only available for eSIMs. If the given SIM is a physical SIM card, or has already been installed, an error will be returned.\n",
        "operationId": "GetSimCardActivationCode",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SIMCardActivationCodeResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/{id}/device_details": {
      "get": {
        "summary": "Get SIM card device details",
        "description": "It returns the device details where a SIM card is currently being used.\n",
        "operationId": "GetSimCardDeviceDetails",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SIMCardDeviceDetailsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/{id}/public_ip": {
      "get": {
        "summary": "Get SIM card public IP definition",
        "description": "It returns the public IP requested for a SIM card.\n",
        "operationId": "GetSimCardPublicIp",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SIMCardPublicIPResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sim_cards/{id}/wireless_connectivity_logs": {
      "get": {
        "operationId": "GetWirelessConnectivityLogs",
        "summary": "List wireless connectivity logs",
        "description": "This API allows listing a paginated collection of Wireless Connectivity Logs associated with a SIM Card, for troubleshooting purposes.",
        "tags": [
          "SIM Cards"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "$ref": "#/components/parameters/SIMCardId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WirelessConnectivityLogCollectionResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/siprec_connectors": {
      "post": {
        "summary": "Create a SIPREC connector",
        "description": "Creates a new SIPREC connector configuration.",
        "operationId": "createSiprecConnector",
        "tags": [
          "SIPREC Connectors"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SiprecConnectorRequest"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/SiprecConnectorResponseBody"
          },
          "422": {
            "$ref": "#/components/responses/siprec_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/siprec_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/siprec_connectors/{connector_name}": {
      "delete": {
        "summary": "Delete a SIPREC connector",
        "description": "Deletes a stored SIPREC connector.",
        "operationId": "deleteSiprecConnector",
        "tags": [
          "SIPREC Connectors"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SiprecConnectorName"
          }
        ],
        "responses": {
          "204": {
            "description": "The SIPREC connector was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/siprec_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/siprec_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a SIPREC connector",
        "description": "Returns details of a stored SIPREC connector.",
        "operationId": "getSiprecConnector",
        "tags": [
          "SIPREC Connectors"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SiprecConnectorName"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SiprecConnectorResponseBody"
          },
          "404": {
            "$ref": "#/components/responses/siprec_NotFoundResponse"
          },
          "default": {
            "$ref": "#/components/responses/siprec_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "summary": "Update a SIPREC connector",
        "description": "Updates a stored SIPREC connector configuration.",
        "operationId": "updateSiprecConnector",
        "tags": [
          "SIPREC Connectors"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SiprecConnectorName"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SiprecConnectorRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SiprecConnectorResponseBody"
          },
          "404": {
            "$ref": "#/components/responses/siprec_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/siprec_UnprocessableEntityResponse"
          },
          "default": {
            "$ref": "#/components/responses/siprec_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/speech-to-text/transcription": {
      "get": {
        "summary": "Speech to text over WebSocket",
        "description": "Open a WebSocket connection to stream audio and receive transcriptions in real-time. Authentication is provided via the standard `Authorization: Bearer <API_KEY>` header.\n\nSupported engines: `Azure`, `Deepgram`, `Google`, `Telnyx`, `xAI`, `Speechmatics`, `Soniox`.\n\n**Connection flow:**\n1. Open WebSocket with query parameters specifying engine, input format, and language.\n2. Send binary audio frames (mp3/wav format).\n3. Receive JSON transcript frames with `transcript`, `is_final`, and `confidence` fields.\n4. Close connection when done.",
        "operationId": "TranscriptionOverWs",
        "tags": [
          "Speech To Text over WebSockets"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/transcription_engine"
          },
          {
            "$ref": "#/components/parameters/input_format"
          },
          {
            "$ref": "#/components/parameters/language"
          },
          {
            "$ref": "#/components/parameters/interim_results"
          },
          {
            "$ref": "#/components/parameters/model"
          },
          {
            "$ref": "#/components/parameters/endpointing"
          },
          {
            "$ref": "#/components/parameters/redact"
          },
          {
            "$ref": "#/components/parameters/keyterm"
          },
          {
            "$ref": "#/components/parameters/keywords"
          }
        ],
        "requestBody": {
          "description": "Client sends binary audio frames (mp3 or wav format) over the WebSocket. See `SttClientEvent` schema.",
          "content": {
            "application/octet-stream": {
              "schema": {
                "$ref": "#/components/schemas/SttClientEvent"
              }
            }
          }
        },
        "responses": {
          "101": {
            "description": "WebSocket connection established. Communication proceeds via binary audio frames (client) and JSON transcript frames (server).\n\n**Client → Server:** Binary audio data (mp3/wav).\n**Server → Client:** See `TranscriptFrame` and `SttErrorFrame` schemas.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SttServerEvent"
                }
              }
            }
          },
          "200": {
            "description": "WebSocket upgrade successful — this response is not returned directly. See 101 for frame documentation."
          },
          "400": {
            "description": "Invalid parameters — engine not supported or missing required fields."
          },
          "401": {
            "description": "Authentication failed — missing or invalid Authorization header."
          },
          "422": {
            "$ref": "#/components/responses/speech-to-text_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/storage/buckets/{bucketName}/ssl_certificate": {
      "delete": {
        "summary": "Remove SSL Certificate",
        "deprecated": false,
        "description": "Deletes an SSL certificate and its matching secret.",
        "operationId": "RemoveStorageSSLCertificate",
        "tags": [
          "Bucket SSL Certificate"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "Bucket Name",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SSL Certificate Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SSLCertificate"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket or SSL certificate not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get Bucket SSL Certificate",
        "deprecated": false,
        "description": "Returns the stored certificate detail of a bucket, if applicable.",
        "operationId": "GetStorageSSLCertificates",
        "tags": [
          "Bucket SSL Certificate"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "The name of the bucket",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SSL Certificate Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SSLCertificate"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket or SSL certificate not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      },
      "put": {
        "summary": "Add SSL Certificate",
        "deprecated": false,
        "description": "Uploads an SSL certificate and its matching secret so that you can use Telnyx's storage as your CDN.",
        "operationId": "AddStorageSSLCertificate",
        "tags": [
          "Bucket SSL Certificate"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "The name of the bucket",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "certificate": {
                    "type": "string",
                    "format": "binary",
                    "description": "The SSL certificate file",
                    "example": ""
                  },
                  "private_key": {
                    "type": "string",
                    "format": "binary",
                    "description": "The private key file",
                    "example": ""
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SSL Certificate Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SSLCertificate"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/buckets/{bucketName}/usage/api": {
      "get": {
        "summary": "Get API Usage",
        "deprecated": false,
        "description": "Returns the detail on API usage on a bucket of a particular time period, group by method category.",
        "operationId": "GetStorageAPIUsage",
        "tags": [
          "Bucket Usage"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "The name of the bucket",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[start_time], filter[end_time]",
            "schema": {
              "type": "object",
              "required": [
                "start_time",
                "end_time"
              ],
              "properties": {
                "start_time": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The start time of the period to filter the usage (ISO microsecond format)"
                },
                "end_time": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The end time of the period to filter the usage (ISO microsecond format)"
                }
              },
              "additionalProperties": false
            },
            "example": {
              "start_time": "2020-01-01T00:00:00.000Z",
              "end_time": "2020-01-01T00:00:00.000Z"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bucket Usage",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BucketAPIUsageResponse"
                      }
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/buckets/{bucketName}/usage/storage": {
      "get": {
        "summary": "Get Bucket Usage",
        "deprecated": false,
        "description": "Returns the amount of storage space and number of files a bucket takes up.",
        "operationId": "GetBucketUsage",
        "tags": [
          "Bucket Usage"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "The name of the bucket",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bucket Storage Usage",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BucketUsage"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMetaSimple"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/buckets/{bucketName}/{objectName}/presigned_url": {
      "post": {
        "summary": "Create Presigned Object URL",
        "deprecated": false,
        "description": "Returns a timed and authenticated URL to download (GET) or upload (PUT) an object. This is the equivalent to AWS S3’s “presigned” URL. Please note that Telnyx performs authentication differently from AWS S3 and you MUST NOT use the presign method of AWS s3api CLI or SDK to generate the presigned URL. \n\nRefer to: https://developers.telnyx.com/docs/cloud-storage/presigned-urls\n",
        "operationId": "CreatePresignedObjectUrl",
        "tags": [
          "Presigned Object URLs"
        ],
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "description": "The name of the bucket",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objectName",
            "in": "path",
            "description": "The name of the object",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PresignedObjectUrlParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Presigned URL Object Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresignedObjectUrl"
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Bucket or object not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migration_source_coverage": {
      "get": {
        "summary": "List Migration Source coverage",
        "deprecated": false,
        "description": "",
        "operationId": "ListMigrationSourceCoverage",
        "tags": [
          "Data Migration"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List Migrations Source Coverage Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MigrationSourceCoverageParams"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMetaSimple"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migration_sources": {
      "get": {
        "summary": "List all Migration Sources",
        "deprecated": false,
        "description": "",
        "operationId": "ListMigrationSources",
        "tags": [
          "Data Migration"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List Migration Sources Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MigrationSourceParams"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMetaSimple"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Migration Source",
        "deprecated": false,
        "description": "Create a source from which data can be migrated from.",
        "operationId": "CreateMigrationSource",
        "tags": [
          "Data Migration"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MigrationSourceParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Create Migration Source Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationSourceParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migration_sources/{id}": {
      "delete": {
        "summary": "Delete a Migration Source",
        "deprecated": false,
        "description": "",
        "operationId": "DeleteMigrationSource",
        "tags": [
          "Data Migration"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the data migration source.",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Create Migration Source Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationSourceParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Migration source not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a Migration Source",
        "deprecated": false,
        "description": "",
        "operationId": "GetMigrationSource",
        "tags": [
          "Data Migration"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the data migration source.",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Create Migration Source Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationSourceParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Migration source not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migrations": {
      "get": {
        "summary": "List all Migrations",
        "deprecated": false,
        "description": "",
        "operationId": "ListMigrations",
        "tags": [
          "Data Migration"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List Migrations Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MigrationParams"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMetaSimple"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Migration",
        "deprecated": false,
        "description": "Initiate a migration of data from an external provider into Telnyx Cloud Storage. Currently, only S3 is supported.",
        "operationId": "CreateMigration",
        "tags": [
          "Data Migration"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MigrationParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Create Migration Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migrations/{id}": {
      "get": {
        "summary": "Get a Migration",
        "deprecated": false,
        "description": "",
        "operationId": "GetMigration",
        "tags": [
          "Data Migration"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the data migration.",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Create Migration Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Migration not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/storage/migrations/{id}/actions/stop": {
      "post": {
        "summary": "Stop a Migration",
        "deprecated": false,
        "description": "",
        "operationId": "StopMigration",
        "tags": [
          "Data Migration"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the data migration.",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Create Migration Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MigrationParams"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Migration not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders": {
      "get": {
        "summary": "List sub number orders",
        "description": "Get a paginated list of sub number orders.",
        "operationId": "ListSubNumberOrders",
        "tags": [
          "Phone Number Orders"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status], filter[order_request_id], filter[country_code], filter[phone_number_type], filter[phone_numbers_count]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Filter sub number orders by status."
                },
                "order_request_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "12ade33a-21c0-473b-b055-b3c836e1c293",
                  "description": "ID of the number order the sub number order belongs to"
                },
                "country_code": {
                  "type": "string",
                  "example": "US",
                  "description": "ISO alpha-2 country code."
                },
                "phone_number_type": {
                  "type": "string",
                  "example": "local",
                  "description": "Phone Number Type"
                },
                "phone_numbers_count": {
                  "type": "integer",
                  "example": 1,
                  "description": "Amount of numbers in the sub number order"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListSubNumberOrdersResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders/{id}/requirement_group": {
      "post": {
        "summary": "Update requirement group for a sub number order",
        "operationId": "updateSubNumberOrderRequirementGroup",
        "tags": [
          "Requirement Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the sub number order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "requirement_group_id"
                ],
                "properties": {
                  "requirement_group_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The ID of the requirement group to associate"
                  }
                }
              },
              "example": {
                "requirement_group_id": "a4b201f9-8646-4e54-a7d2-b2e403eeaf8c"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sub number order requirement group updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubNumberOrderRequirementGroupResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders/{sub_number_order_id}": {
      "get": {
        "summary": "Retrieve a sub number order",
        "description": "Get an existing sub number order.",
        "operationId": "GetSubNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "sub_number_order_id",
            "in": "path",
            "description": "The sub number order ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[include_phone_numbers]",
            "schema": {
              "type": "object",
              "properties": {
                "include_phone_numbers": {
                  "type": "boolean",
                  "default": false,
                  "description": "Include the first 50 phone number objects in the results"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubNumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a sub number order's requirements",
        "description": "Updates a sub number order.",
        "operationId": "UpdateSubNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "sub_number_order_id",
            "in": "path",
            "description": "The sub number order ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubNumberOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubNumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders/{sub_number_order_id}/cancel": {
      "patch": {
        "summary": "Cancel a sub number order",
        "description": "Allows you to cancel a sub number order in 'pending' status.",
        "operationId": "CancelSubNumberOrder",
        "tags": [
          "Phone Number Orders"
        ],
        "parameters": [
          {
            "name": "sub_number_order_id",
            "in": "path",
            "description": "The ID of the sub number order.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubNumberOrderResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders_report": {
      "post": {
        "summary": "Create a sub number orders report",
        "description": "Create a CSV report for sub number orders. The report will be generated asynchronously and can be downloaded once complete.",
        "operationId": "CreateSubNumberOrdersReport",
        "tags": [
          "Phone Number Orders"
        ],
        "x-endpoint-cost": "medium",
        "x-latency-category": "background",
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubNumberOrdersReportRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/SubNumberOrdersReportResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/sub_number_orders_report/{report_id}": {
      "get": {
        "summary": "Retrieve a sub number orders report",
        "description": "Get the status and details of a sub number orders report.",
        "operationId": "GetSubNumberOrdersReport",
        "tags": [
          "Phone Number Orders"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "in": "path",
            "name": "report_id",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "The unique identifier of the sub number orders report",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c293"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubNumberOrdersReportResponse"
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/sub_number_orders_report/{report_id}/download": {
      "get": {
        "summary": "Download a sub number orders report",
        "description": "Download the CSV file for a completed sub number orders report. The report status must be 'success' before the file can be downloaded.",
        "operationId": "DownloadSubNumberOrdersReport",
        "tags": [
          "Phone Number Orders"
        ],
        "x-endpoint-cost": "light",
        "x-latency-category": "background",
        "parameters": [
          {
            "in": "path",
            "name": "report_id",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "The unique identifier of the sub number orders report",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c293"
          }
        ],
        "responses": {
          "200": {
            "description": "CSV file download",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                },
                "example": "id,order_request_id,is_block_sub_number_order,status,phone_number_type,requirements_met,phone_numbers_count,country_code,user_id,customer_reference,created_at,updated_at\n1758d6ed-61a0-4d7a-bf57-b5dced413d33,f486fc2c-4fdf-4849-930d-b3045373e839,False,success,local,True,1,US,0d7ef697-df19-413a-b724-56b0539f5397,STRING,2025-05-23 14:33:12.376686,2025-05-23 14:33:15.624916"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/numbers_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/numbers_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/numbers_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/numbers_UnprocessableEntity"
          },
          "500": {
            "$ref": "#/components/responses/numbers_GenericErrorResponse"
          }
        }
      }
    },
    "/telephony_credentials": {
      "get": {
        "description": "List all On-demand Credentials.",
        "summary": "List all credentials",
        "operationId": "FindTelephonyCredentials",
        "tags": [
          "Credentials"
        ],
        "x-group-parameters": "true",
        "parameters": [
          {
            "$ref": "#/components/parameters/telephony-credentials_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/telephony-credentials_FilterConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllTelephonyCredentialResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Create a credential.",
        "summary": "Create a credential",
        "operationId": "CreateTelephonyCredential",
        "tags": [
          "Credentials"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during credential creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TelephonyCredentialCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/TelephonyCredentialResponse"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/telephony_credentials/{id}": {
      "delete": {
        "description": "Delete an existing credential.",
        "summary": "Delete a credential",
        "operationId": "DeleteTelephonyCredential",
        "tags": [
          "Credentials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TelephonyCredentialResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Get the details of an existing On-demand Credential.",
        "summary": "Get a credential",
        "operationId": "GetTelephonyCredential",
        "tags": [
          "Credentials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TelephonyCredentialResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Update an existing credential.",
        "summary": "Update a credential",
        "operationId": "UpdateTelephonyCredential",
        "tags": [
          "Credentials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a credential",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TelephonyCredentialUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TelephonyCredentialResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/telephony_credentials/{id}/token": {
      "post": {
        "description": "Create an Access Token (JWT) for the credential.",
        "summary": "Create an Access Token.",
        "operationId": "CreateTelephonyCredentialToken",
        "tags": [
          "Access Tokens"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "JWT",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ"
                }
              }
            }
          },
          "404": {
            "description": "Resource not Found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/terms_of_service/number_reputation/agree": {
      "post": {
        "summary": "Agree to Number Reputation Terms of Service",
        "operationId": "AgreeNumberReputationTermsOfService",
        "tags": [
          "Terms of Service"
        ],
        "description": "Accept the Terms of Service for the Number Reputation product. Must be called before using Number Reputation endpoints.\n\nReturns `400` with error code `10015` if the user has already agreed to the current ToS version.",
        "responses": {
          "200": {
            "description": "Terms of Service accepted successfully"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestTelnyx",
            "description": "Bad request — e.g. user has already agreed to this Terms of Service version (error code 10015)"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/texml/Accounts/{account_sid}/Calls": {
      "get": {
        "summary": "Fetch multiple call resources",
        "description": "Returns multiple call resouces for an account. This endpoint is eventually consistent.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlCalls",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/Page"
          },
          {
            "$ref": "#/components/parameters/PageSize"
          },
          {
            "$ref": "#/components/parameters/PageToken"
          },
          {
            "$ref": "#/components/parameters/To"
          },
          {
            "$ref": "#/components/parameters/From"
          },
          {
            "$ref": "#/components/parameters/Status"
          },
          {
            "$ref": "#/components/parameters/StartTime"
          },
          {
            "$ref": "#/components/parameters/StartTime_gt"
          },
          {
            "$ref": "#/components/parameters/StartTime_lt"
          },
          {
            "$ref": "#/components/parameters/EndTime"
          },
          {
            "$ref": "#/components/parameters/EndTime_gt"
          },
          {
            "$ref": "#/components/parameters/EndTime_lt"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCallsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Initiate an outbound call",
        "description": "Initiate an outbound TeXML call. Telnyx will request TeXML from the XML Request URL configured for the connection in the Mission Control Portal.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "InitiateTexmlCall",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          }
        ],
        "requestBody": {
          "description": "Iniatiate Call request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateCallRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/InitiateCallResponse"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}": {
      "get": {
        "summary": "Fetch a call",
        "description": "Returns an individual call identified by its CallSid. This endpoint is eventually consistent.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlCall",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallSid"
          },
          {
            "$ref": "#/components/parameters/AccountSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCallResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Update call",
        "description": "Update TeXML call. Please note that the keys present in the payload MUST BE formatted in CamelCase as specified in the example.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "UpdateTexmlCall",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CallSid"
          },
          {
            "$ref": "#/components/parameters/AccountSid"
          }
        ],
        "requestBody": {
          "description": "Update Call request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCallRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCallResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json": {
      "get": {
        "summary": "Fetch recordings for a call",
        "description": "Returns recordings for a call identified by call_sid.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "FetchTeXMLCallRecordings",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlGetCallRecordingsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Request recording for a call",
        "description": "Starts recording with specified parameters for call idientified by call_sid.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "StartTeXMLCallRecording",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlCreateCallRecordingRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlCreateCallRecordingResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings/{recording_sid}.json": {
      "post": {
        "summary": "Update recording on a call",
        "description": "Updates recording resource for particular call.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "UpdateTeXMLCallRecording",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          },
          {
            "$ref": "#/components/parameters/RecordingSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlUpdateCallRecordingRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlCreateCallRecordingResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec.json": {
      "post": {
        "summary": "Request siprec session for a call",
        "description": "Starts siprec session with specified parameters for call idientified by call_sid.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "StartTeXMLSiprecSession",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlCreateSiprecSessionRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlCreateSiprecSessionResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec/{siprec_sid}.json": {
      "post": {
        "summary": "Updates siprec session for a call",
        "description": "Updates siprec session identified by siprec_sid.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "UpdateTeXMLSiprecSession",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          },
          {
            "$ref": "#/components/parameters/SiprecSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlUpdateSiprecSessionRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlUpdateSiprecSessionResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Streams.json": {
      "post": {
        "summary": "Start streaming media from a call.",
        "description": "Starts streaming media from a call to a specific WebSocket address.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "StartTeXMLCallStreaming",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlCreateCallStreamingRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlCreateCallStreamingResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Calls/{call_sid}/Streams/{streaming_sid}.json": {
      "post": {
        "summary": "Update streaming on a call",
        "description": "Updates streaming resource for particular call.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "UpdateTeXMLCallStreaming",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/CallSid"
          },
          {
            "$ref": "#/components/parameters/StreamingSid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TexmlUpdateCallStreamingRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlUpdateCallStreamingResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences": {
      "get": {
        "summary": "List conference resources",
        "description": "Lists conference resources.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlConferences",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/Page"
          },
          {
            "$ref": "#/components/parameters/PageSize"
          },
          {
            "$ref": "#/components/parameters/PageToken"
          },
          {
            "$ref": "#/components/parameters/FriendlyName"
          },
          {
            "$ref": "#/components/parameters/ConferenceStatus"
          },
          {
            "$ref": "#/components/parameters/DateCreated"
          },
          {
            "$ref": "#/components/parameters/DateUpdated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetConferencesResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences/{conference_sid}": {
      "get": {
        "summary": "Fetch a conference resource",
        "description": "Returns a conference resource.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlConference",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetConferenceResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Update a conference resource",
        "description": "Updates a conference resource.",
        "x-latency-category": "responsive",
        "operationId": "UpdateTexmlConference",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "requestBody": {
          "description": "Update Conference request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/call-scripting_UpdateConferenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetConferenceResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants": {
      "get": {
        "summary": "List conference participants",
        "description": "Lists conference participants",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlConferenceParticipants",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetParticipantsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Dial a new conference participant",
        "description": "Dials a new conference participant",
        "x-latency-category": "responsive",
        "operationId": "DialTexmlConferenceParticipant",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "requestBody": {
          "description": "Dial Conference Participant request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/DialConferenceParticipantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DialParticipantResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}": {
      "delete": {
        "summary": "Delete a conference participant",
        "description": "Deletes a conference participant",
        "x-latency-category": "responsive",
        "operationId": "DeleteTexmlConferenceParticipant",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          },
          {
            "$ref": "#/components/parameters/CallSidOrParticipantLabel"
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "get": {
        "summary": "Get conference participant resource",
        "description": "Gets conference participant resource",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlConferenceParticipant",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          },
          {
            "$ref": "#/components/parameters/CallSidOrParticipantLabel"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetParticipantResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Update a conference participant",
        "description": "Updates a conference participant",
        "x-latency-category": "responsive",
        "operationId": "UpdateTexmlConferenceParticipant",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          },
          {
            "$ref": "#/components/parameters/CallSidOrParticipantLabel"
          }
        ],
        "requestBody": {
          "description": "Update Conference Participant request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/call-scripting_UpdateConferenceParticipantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetParticipantResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings": {
      "get": {
        "summary": "List conference recordings",
        "description": "Lists conference recordings",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlConferenceRecordings",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetConferenceRecordingsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings.json": {
      "get": {
        "summary": "Fetch recordings for a conference",
        "description": "Returns recordings for a conference identified by conference_sid.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "FetchTeXMLConferenceRecordings",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/ConferenceSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlGetCallRecordingsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Queues": {
      "get": {
        "summary": "List queue resources",
        "description": "Lists queue resources.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlQueues",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/Page"
          },
          {
            "$ref": "#/components/parameters/PageSize"
          },
          {
            "$ref": "#/components/parameters/PageToken"
          },
          {
            "$ref": "#/components/parameters/DateCreated"
          },
          {
            "$ref": "#/components/parameters/DateUpdated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetQueuesResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Create a new queue",
        "description": "Creates a new queue resource.",
        "x-latency-category": "responsive",
        "operationId": "CreateTexmlQueue",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          }
        ],
        "requestBody": {
          "description": "Create Queue request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/call-scripting_CreateQueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetQueueResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Queues/{queue_sid}": {
      "delete": {
        "summary": "Delete a queue resource",
        "description": "Delete a queue resource.",
        "x-latency-category": "responsive",
        "operationId": "DeleteTexmlQueue",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/QueueSid"
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "get": {
        "summary": "Fetch a queue resource",
        "description": "Returns a queue resource.",
        "x-latency-category": "responsive",
        "operationId": "GetTexmlQueue",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/QueueSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetQueueResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "post": {
        "summary": "Update a queue resource",
        "description": "Updates a queue resource.",
        "x-latency-category": "responsive",
        "operationId": "UpdateTexmlQueue",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/QueueSid"
          }
        ],
        "requestBody": {
          "description": "Update Queue request object",
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/call-scripting_UpdateQueueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetQueueResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Recordings.json": {
      "get": {
        "summary": "Fetch multiple recording resources",
        "description": "Returns multiple recording resources for an account.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "GetTeXMLCallRecordings",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/Page"
          },
          {
            "$ref": "#/components/parameters/PageSizeTexml"
          },
          {
            "$ref": "#/components/parameters/TexmlDateCreated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlGetCallRecordingsResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Recordings/{recording_sid}.json": {
      "delete": {
        "summary": "Delete recording resource",
        "description": "Deletes recording resource identified by recording id.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "DeleteTeXMLCallRecording",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/RecordingSid"
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "get": {
        "summary": "Fetch recording resource",
        "description": "Returns recording resource identified by recording id.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "GetTeXMLCallRecording",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/RecordingSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlGetCallRecordingResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Transcriptions.json": {
      "get": {
        "summary": "List recording transcriptions",
        "description": "Returns multiple recording transcription resources for an account.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "GetTeXMLRecordingTranscriptions",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/PageToken"
          },
          {
            "$ref": "#/components/parameters/PageSize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlListRecordingTranscriptionResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json": {
      "delete": {
        "summary": "Delete a recording transcription",
        "description": "Permanently deletes a recording transcription.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "DeleteTeXMLRecordingTranscription",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/RecordingTranscriptionSid"
          }
        ],
        "responses": {
          "204": {
            "description": "The resource was deleted successfully."
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      },
      "get": {
        "summary": "Fetch a recording transcription resource",
        "description": "Returns the recording transcription resource identified by its ID.",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "GetTeXMLRecordingTranscription",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountSid"
          },
          {
            "$ref": "#/components/parameters/RecordingTranscriptionSid"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlGetRecordingTranscriptionResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          }
        }
      }
    },
    "/texml/ai_calls/{connection_id}": {
      "post": {
        "summary": "Initiate an outbound AI call",
        "description": "Initiate an outbound AI call with warm-up support. Validates parameters, builds an internal TeXML with an AI Assistant configuration, encodes instructions into client state, and calls the dial API. The Twiml, Texml, and Url parameters are not allowed and will result in a 422 error.\n\n**Expected callback events:**\n\nStatus callbacks: `initiated`, `ringing`, `answered`, one terminal status (`completed`, `no-answer`, `busy`, `canceled`, or `failed`), then `analyzed` after post-call processing completes.\n\nConversation callbacks: `conversation_created` and `conversation_ended`.\n\nRecording, AMD, transcription, and deepfake detection callbacks are only sent when those features are enabled.\n",
        "x-latency-category": "responsive",
        "x-group-parameters": "true",
        "operationId": "InitiateTexmlAICall",
        "tags": [
          "TeXML REST Commands"
        ],
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "description": "The ID of the TeXML connection to use for the call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Initiate AI Call request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateAICallRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/InitiateAICallResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        }
      }
    },
    "/texml/secrets": {
      "post": {
        "summary": "Create a TeXML secret",
        "description": "Create a TeXML secret which can be later used as a Dynamic Parameter for TeXML when using Mustache Templates in your TeXML. In your TeXML you will be able to use your secret name, and this name will be replaced by the actual secret value when processing the TeXML on Telnyx side.  The secrets are not visible in any logs.",
        "x-latency-category": "responsive",
        "operationId": "CreateTexmlSecret",
        "tags": [
          "TeXML REST Commands"
        ],
        "requestBody": {
          "description": "Create TeXML secret request object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTeXMLSecretRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateTeXMLSecretResponse"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        }
      }
    },
    "/texml_applications": {
      "get": {
        "description": "Returns a list of your TeXML Applications.",
        "summary": "List all TeXML Applications",
        "operationId": "FindTexmlApplications",
        "tags": [
          "TeXML Applications"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/call-scripting_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/call-scripting_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortApplication"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllTexmlApplicationsResponse"
          },
          "400": {
            "$ref": "#/components/responses/call-scripting_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/call-scripting_UnauthorizedResponse"
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "description": "Creates a TeXML Application.",
        "summary": "Creates a TeXML Application",
        "operationId": "CreateTexmlApplication",
        "tags": [
          "TeXML Applications"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be set when creating a TeXML Application",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTexmlApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/TexmlApplicationResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/call-scripting_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/call-scripting_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/texml_applications/{id}": {
      "delete": {
        "description": "Deletes a TeXML Application.",
        "summary": "Deletes a TeXML Application",
        "operationId": "DeleteTexmlApplication",
        "tags": [
          "TeXML Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlApplicationResponse"
          },
          "400": {
            "$ref": "#/components/responses/call-scripting_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/call-scripting_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponseApp"
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "description": "Retrieves the details of an existing TeXML Application.",
        "summary": "Retrieve a TeXML Application",
        "operationId": "GetTexmlApplication",
        "tags": [
          "TeXML Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlApplicationResponse"
          },
          "400": {
            "$ref": "#/components/responses/call-scripting_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/call-scripting_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponseApp"
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "description": "Updates settings of an existing TeXML Application.",
        "summary": "Update a TeXML Application",
        "operationId": "UpdateTexmlApplication",
        "tags": [
          "TeXML Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a TeXML Application",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTexmlApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/TexmlApplicationResponse"
          },
          "400": {
            "$ref": "#/components/responses/call-scripting_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/call-scripting_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponseApp"
          },
          "422": {
            "$ref": "#/components/responses/call-scripting_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/text-to-speech/speech": {
      "get": {
        "summary": "Stream text to speech over WebSocket",
        "description": "Open a WebSocket connection to stream text and receive synthesized audio in real time. Authentication is provided via the standard `Authorization: Bearer <API_KEY>` header. Send JSON frames with text to synthesize; receive JSON frames containing base64-encoded audio chunks.\n\nSupported providers: `aws`, `telnyx`, `azure`, `murfai`, `minimax`, `rime`, `resemble`, `elevenlabs`, `xai`.\n\n**Connection flow:**\n1. Open WebSocket with query parameters specifying provider, voice, and model.\n2. Send an initial handshake message `{\"text\": \" \"}` (single space) with optional `voice_settings` to initialize the session.\n3. Send text messages as `{\"text\": \"Hello world\"}`.\n4. Receive audio chunks as JSON frames with base64-encoded audio.\n5. A final frame with `isFinal: true` indicates the end of audio for the current text.\n\nTo interrupt and restart synthesis mid-stream, send `{\"force\": true}` — the current worker is stopped and a new one is started.\n\n**Note:** The Telnyx `Ultra` model is not available over WebSocket. Use the HTTP POST `/text-to-speech/speech` endpoint instead.",
        "operationId": "TextToSpeechOverWs",
        "tags": [
          "Text To Speech Commands"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/voice"
          },
          {
            "$ref": "#/components/parameters/provider"
          },
          {
            "$ref": "#/components/parameters/model_id"
          },
          {
            "$ref": "#/components/parameters/voice_id"
          },
          {
            "$ref": "#/components/parameters/disable_cache"
          },
          {
            "$ref": "#/components/parameters/audio_format"
          },
          {
            "$ref": "#/components/parameters/socket_id"
          }
        ],
        "responses": {
          "101": {
            "description": "WebSocket connection established. Communication proceeds via JSON frames.\n\n**Client → Server:** See `ClientTextFrame` schema.\n**Server → Client:** See `AudioChunkFrame`, `FinalFrame`, and `ErrorFrame` schemas.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ClientTextFrame"
                    },
                    {
                      "$ref": "#/components/schemas/TtsServerEvent"
                    }
                  ]
                }
              }
            }
          },
          "200": {
            "description": "WebSocket upgrade successful — this response is not returned directly. See 101 for frame documentation."
          },
          "400": {
            "description": "Invalid parameters — provider not supported or missing required fields."
          },
          "401": {
            "description": "Authentication failed — missing or invalid `x-telnyx-auth-rev2` header."
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Generate speech from text",
        "description": "Generate synthesized speech audio from text input. Returns audio in the requested format (binary audio stream, base64-encoded JSON, or an audio URL for later retrieval).\n\nAuthentication is provided via the standard `Authorization: Bearer <API_KEY>` header.\n\nThe `voice` parameter provides a convenient shorthand to specify provider, model, and voice in a single string (e.g. `telnyx.NaturalHD.Alloy` or `Telnyx.Ultra.<voice_id>`). Alternatively, specify `provider` explicitly along with provider-specific parameters.\n\nSupported providers: `aws`, `telnyx`, `azure`, `elevenlabs`, `minimax`, `rime`, `resemble`, `xai`.\n\nThe Telnyx `Ultra` model supports 44 languages with emotion control, speed adjustment, and volume control. Use the `telnyx` provider-specific parameters to configure these features.",
        "operationId": "generateSpeech",
        "tags": [
          "Text To Speech Commands"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateSpeechRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Speech generated successfully. The response format depends on the `output_type` parameter:\n- `binary_output` (default): Returns raw audio bytes with the appropriate `Content-Type` header (e.g. `audio/mpeg`).\n- `base64_output`: Returns a JSON object with `base64_audio` field.",
            "content": {
              "audio/mpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "Raw audio bytes. Returned when `output_type` is `binary_output` (default)."
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Base64AudioResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request — invalid parameters or provider error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/text-to-speech_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed — missing or invalid API key."
          },
          "422": {
            "description": "Validation failed — invalid or missing required fields.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/text-to-speech/voices": {
      "get": {
        "summary": "List available voices",
        "description": "Retrieve a list of available voices from one or all TTS providers. When `provider` is specified, returns voices for that provider only. Otherwise, returns voices from all providers.\n\nSome providers (ElevenLabs, Resemble) require an API key to list voices.",
        "operationId": "listVoices",
        "tags": [
          "Text To Speech Commands"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "description": "Filter voices by provider. If omitted, voices from all providers are returned.",
            "schema": {
              "type": "string",
              "enum": [
                "aws",
                "telnyx",
                "azure",
                "elevenlabs",
                "minimax",
                "rime",
                "resemble",
                "xai"
              ]
            }
          },
          {
            "name": "api_key",
            "in": "query",
            "required": false,
            "description": "API key for providers that require one to list voices (e.g. ElevenLabs).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of available voices.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoicesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request — invalid provider or missing required API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/text-to-speech_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed — missing or invalid API key."
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/traffic_policy_profiles": {
      "get": {
        "summary": "Get all traffic policy profiles",
        "description": "Get all traffic policy profiles belonging to the user that match the given filters.",
        "operationId": "GetTrafficPolicyProfiles",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[type]",
            "description": "Filter by traffic policy profile type.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "whitelist",
                "blacklist",
                "throttling"
              ]
            },
            "example": "whitelist"
          },
          {
            "name": "filter[service]",
            "description": "Filter by service ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "service_123"
          },
          {
            "name": "sort",
            "description": "Sorts traffic policy profiles by the given field. Defaults to ascending order unless field is prefixed with a minus sign.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "service",
                "-service",
                "type",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTrafficPolicyProfilesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a traffic policy profile",
        "description": "Create a new traffic policy profile. At least one of `services`, `ip_ranges`, or `domains` must be provided.",
        "operationId": "CreateTrafficPolicyProfile",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "The type of the traffic policy profile.",
                    "type": "string",
                    "enum": [
                      "whitelist",
                      "blacklist"
                    ],
                    "example": "whitelist"
                  },
                  "services": {
                    "description": "Array of PCEF service IDs to include in the profile.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "service_123",
                      "service_456"
                    ]
                  },
                  "ip_ranges": {
                    "description": "Array of IP ranges in CIDR notation.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "10.64.0.0/24",
                      "10.64.0.0/25"
                    ]
                  },
                  "domains": {
                    "description": "Array of domain names.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "www.hbomax.com",
                      "netflix.com"
                    ]
                  },
                  "limit_bw_kbps": {
                    "description": "Bandwidth limit in kbps. Must be 512 or 1024.",
                    "type": "integer",
                    "enum": [
                      512,
                      1024
                    ],
                    "example": 512
                  }
                },
                "required": [
                  "type"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateTrafficPolicyProfileResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/traffic_policy_profiles/services": {
      "get": {
        "summary": "Get all available traffic policy profile services",
        "description": "Get all available PCEF services that can be used in traffic policy profiles.",
        "operationId": "GetTrafficPolicyProfileServices",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[group]",
            "description": "Filter services by group.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "Social Media"
          },
          {
            "name": "filter[name]",
            "description": "Filter services by name.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "Netflix"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTrafficPolicyProfileServicesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/traffic_policy_profiles/{id}": {
      "delete": {
        "summary": "Delete a traffic policy profile",
        "description": "Deletes the traffic policy profile.",
        "operationId": "DeleteTrafficPolicyProfile",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/TrafficPolicyProfileId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteTrafficPolicyProfileResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a traffic policy profile",
        "description": "Returns the details regarding a specific traffic policy profile.",
        "operationId": "GetTrafficPolicyProfile",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/TrafficPolicyProfileId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTrafficPolicyProfileResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a traffic policy profile",
        "description": "Updates a traffic policy profile.",
        "operationId": "UpdateTrafficPolicyProfile",
        "tags": [
          "Traffic Policy Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/TrafficPolicyProfileId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "The type of the traffic policy profile.",
                    "type": "string",
                    "enum": [
                      "whitelist",
                      "blacklist",
                      "throttling"
                    ],
                    "example": "whitelist"
                  },
                  "services": {
                    "description": "Array of PCEF service IDs to include in the profile.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "service_123"
                    ]
                  },
                  "ip_ranges": {
                    "description": "Array of IP ranges in CIDR notation.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "10.64.0.0/24"
                    ]
                  },
                  "domains": {
                    "description": "Array of domain names.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "netflix.com"
                    ]
                  },
                  "limit_bw_kbps": {
                    "description": "Bandwidth limit in kbps. Must be 512 or 1024, or null to remove.",
                    "type": [
                      "integer",
                      "null"
                    ],
                    "enum": [
                      512,
                      1024,
                      null
                    ],
                    "example": 1024
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateTrafficPolicyProfileResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/uac_connections": {
      "get": {
        "description": "Returns a list of your UAC connections. A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration.",
        "summary": "List UAC connections",
        "operationId": "ListUacConnections",
        "tags": [
          "UAC Connections"
        ],
        "x-group-parameters": "true",
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/connections_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/connections_SortConnection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListUacConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a UAC connection. A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration.",
        "summary": "Create a UAC connection",
        "operationId": "CreateUacConnection",
        "tags": [
          "UAC Connections"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during UAC connection creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUacConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/UacConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/uac_connections/{id}": {
      "delete": {
        "description": "Deletes an existing UAC connection.",
        "summary": "Delete a UAC connection",
        "operationId": "DeleteUacConnection",
        "tags": [
          "UAC Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UacConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "description": "Retrieves the details of an existing UAC connection.",
        "summary": "Retrieve a UAC connection",
        "operationId": "RetrieveUacConnection",
        "tags": [
          "UAC Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UacConnectionResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "description": "Updates settings of an existing UAC connection.",
        "summary": "Update a UAC connection",
        "operationId": "UpdateUacConnection",
        "tags": [
          "UAC Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters that can be updated in a UAC connection",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUacConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UacConnectionResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          },
          "422": {
            "$ref": "#/components/responses/connections_UnprocessableEntityResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/uac_connections/{id}/actions/check_registration_status": {
      "post": {
        "description": "Checks the registration status for a UAC connection (`registration_status`) as well as the timestamp for the last SIP registration event (`registration_status_updated_at`).",
        "summary": "Check a UAC Connection Registration Status",
        "operationId": "CheckUacConnectionRegistrationStatus",
        "tags": [
          "UAC Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifies the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RegistrationStatusResponse"
          },
          "400": {
            "$ref": "#/components/responses/connections_BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          },
          "403": {
            "$ref": "#/components/responses/connections_UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/connections_NotFoundResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/usage_reports": {
      "get": {
        "tags": [
          "Usage Reports (BETA)"
        ],
        "summary": "Get Telnyx product usage data (BETA)",
        "description": "Get Telnyx usage data by product, broken out by the specified dimensions",
        "operationId": "GetUsageReports",
        "parameters": [
          {
            "name": "product",
            "in": "query",
            "description": "Telnyx product",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "product=wireless": {
                "value": "wireless",
                "summary": "wireless"
              },
              "product=messaging": {
                "value": "messaging",
                "summary": "messaging"
              }
            }
          },
          {
            "name": "dimensions",
            "in": "query",
            "description": "Breakout by specified product dimensions",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "examples": {
              "dimensions=direction,currency,message_type": {
                "value": [
                  "direction",
                  "currency",
                  "message_type"
                ],
                "summary": "Dimensions aggregation list"
              }
            }
          },
          {
            "name": "metrics",
            "in": "query",
            "description": "Specified product usage values",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "examples": {
              "metrics=cost,billed_sec": {
                "value": [
                  "cost",
                  "billed_sec"
                ],
                "summary": "Metrics aggregation list"
              }
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "The start date for the time range you are interested in. The maximum time range is 31 days. Format: YYYY-MM-DDTHH:mm:ssZ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "examples": {
              "start_date=2024-02-01T00:00:00Z": {
                "value": "2024-02-01T00:00:00Z",
                "summary": "Aggregate for records with timestamp starting at specified date and time."
              }
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "The end date for the time range you are interested in. The maximum time range is 31 days. Format: YYYY-MM-DDTHH:mm:ssZ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "examples": {
              "end_date=2024-03-01T00:00:00Z": {
                "value": "2024-03-01T00:00:00Z",
                "summary": "Aggregate for records with timestamp ending at specified date and time."
              }
            }
          },
          {
            "name": "date_range",
            "in": "query",
            "description": "A more user-friendly way to specify the timespan you want to filter by. More options can be found in the Telnyx API Reference docs.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "examples": {
              "date_range=today": {
                "value": "today",
                "summary": "today - Searches for records with timestamp starting at `00:00:00` of the current day"
              },
              "date_range=last_3_days": {
                "value": "last_3_days",
                "summary": "last_3_days - Searches for records with timestamp starting at `00:00:00` since 3 days ago"
              }
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filter records on dimensions",
            "required": false,
            "schema": {
              "type": "string"
            },
            "examples": {
              "filter[currency]=USD": {
                "value": "filter[currency]=USD",
                "summary": "Filter currency on USD"
              },
              "filter[direction]=inbound": {
                "value": "filter[direction]=inbound",
                "summary": "Filter direction on Inbound"
              },
              "filter[country_code]=NLD": {
                "value": "filter[country_code]=NLD",
                "summary": "Filter country code on NLD"
              }
            }
          },
          {
            "name": "managed_accounts",
            "in": "query",
            "description": "Return the aggregations for all Managed Accounts under the user making the request.",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "examples": {
              "managed_accounts=true": {
                "value": false,
                "summary": "Fetch aggregations for all Managed Accounts"
              }
            }
          },
          {
            "name": "sort",
            "description": "Specifies the sort order for results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "examples": {
              "sort=created_at": {
                "value": [
                  "created_at"
                ],
                "summary": "Sorts search results using the `created_at` date-time in ascending order"
              },
              "sort=-created_at": {
                "value": [
                  "-created_at"
                ],
                "summary": "Sorts search results using the `-created_at` date-time in descending order"
              }
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Specify the response format (csv or json). JSON is returned by default, even if not specified.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "csv",
                "json"
              ]
            },
            "examples": {
              "format=json": {
                "value": "json",
                "summary": "Get the response in JSON format"
              },
              "format=csv": {
                "value": "csv",
                "summary": "Get the response in CSV format"
              }
            }
          },
          {
            "name": "authorization_bearer",
            "in": "header",
            "schema": {
              "type": "string",
              "description": "Authenticates the request with your Telnyx API V2 KEY"
            }
          },
          {
            "name": "page",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
            "schema": {
              "type": "object",
              "properties": {
                "number": {
                  "title": "Page[Number]",
                  "minimum": 1,
                  "type": "integer",
                  "default": 1
                },
                "size": {
                  "title": "Page[Size]",
                  "maximum": 5000,
                  "type": "integer",
                  "default": 20
                }
              }
            },
            "examples": {
              "page[number]=1&page[size]=20": {
                "value": {
                  "number": 1,
                  "size": 20
                },
                "summary": "Returns the first page with 20 records per page (default pagination)"
              },
              "page[number]=2&page[size]=20": {
                "value": {
                  "number": 2,
                  "size": 20
                },
                "summary": "Returns the second page with 20 records per page"
              },
              "page[number]=1&page[size]=50": {
                "value": {
                  "number": 1,
                  "size": 50
                },
                "summary": "Returns the first page with 50 records per page (larger page size)"
              },
              "page[number]=5&page[size]=100": {
                "value": {
                  "number": 5,
                  "size": 100
                },
                "summary": "Returns the fifth page with 100 records per page"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageReportsResponse"
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "description": "CSV formatted data",
                  "example": "user_id,direction,product,cost,billed_sec\n3ca7bd3d-7d82-4e07-9df4-009123068320,inbound,forking,0.000800,17.000000\n..."
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage-reports_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage-reports_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      }
    },
    "/usage_reports/options": {
      "get": {
        "tags": [
          "Usage Reports (BETA)"
        ],
        "summary": "Get Usage Reports query options (BETA)",
        "description": "Get the Usage Reports options for querying usage, including the products available and their respective metrics and dimensions",
        "operationId": "ListUsageReportsOptions",
        "parameters": [
          {
            "name": "product",
            "in": "query",
            "description": "Options (dimensions and metrics) for a given product. If none specified, all products will be returned.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "examples": {
              "product=wireless": {
                "value": "wireless",
                "summary": "Specify a product if you know what you're looking for"
              }
            }
          },
          {
            "name": "authorization_bearer",
            "in": "header",
            "schema": {
              "type": "string",
              "description": "Authenticates the request with your Telnyx API V2 KEY"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageReportsOptionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage-reports_ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage-reports_ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-latency-category": "interactive"
      }
    },
    "/user_addresses": {
      "get": {
        "description": "Returns a list of your user addresses.",
        "summary": "List all user addresses",
        "operationId": "FindUserAddress",
        "tags": [
          "UserAddresses"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [
          {
            "$ref": "#/components/parameters/user-addresses_PageConsolidated"
          },
          {
            "$ref": "#/components/parameters/user-addresses_FilterConsolidated"
          },
          {
            "$ref": "#/components/parameters/SortUserAddress"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllUserAddressResponse"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "description": "Creates a user address.",
        "summary": "Creates a user address",
        "operationId": "CreateUserAddress",
        "tags": [
          "UserAddresses"
        ],
        "x-endpoint-cost": "medium",
        "parameters": [],
        "requestBody": {
          "description": "Parameters that can be defined during user address creation",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserAddressCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserAddressResponse"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/user_addresses/{id}": {
      "get": {
        "description": "Retrieves the details of an existing user address.",
        "summary": "Retrieve a user address",
        "operationId": "GetUserAddress",
        "tags": [
          "UserAddresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "user address ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserAddressResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Bad request"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/user_tags": {
      "get": {
        "summary": "List User Tags",
        "operationId": "GetUserTags",
        "description": "List all user tags.",
        "tags": [
          "User Tags"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[starts_with]",
            "schema": {
              "type": "object",
              "properties": {
                "starts_with": {
                  "type": "string",
                  "example": "my-tag",
                  "description": "Filter tags by prefix"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListUserTagsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthenticatedResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/mobile_phone_numbers": {
      "get": {
        "summary": "List Mobile Phone Numbers",
        "operationId": "listMobilePhoneNumbers",
        "tags": [
          "Mobile Phone Numbers"
        ],
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "description": "The page number to load",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "The size of the page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MobilePhoneNumber"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/mobile_phone_numbers_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/mobile_phone_numbers/{id}": {
      "get": {
        "summary": "Retrieve a Mobile Phone Number",
        "operationId": "retrieveMobilePhoneNumber",
        "tags": [
          "Mobile Phone Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the mobile phone number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobilePhoneNumber"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a Mobile Phone Number",
        "operationId": "updateMobilePhoneNumber",
        "tags": [
          "Mobile Phone Numbers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the mobile phone number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobilePhoneNumberUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobilePhoneNumber"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/mobile_voice_connections": {
      "get": {
        "summary": "List Mobile Voice Connections",
        "operationId": "listMobileVoiceConnections",
        "tags": [
          "Mobile Voice Connections"
        ],
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "description": "The page number to load",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "description": "The size of the page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[connection_name][contains]",
            "in": "query",
            "description": "Filter by connection name containing the given string",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sort by field (e.g., created_at, connection_name, active). Prefix with - for descending order.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MobileVoiceConnection"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/mobile_voice_connections_PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Mobile Voice Connection",
        "operationId": "createMobileVoiceConnection",
        "tags": [
          "Mobile Voice Connections"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileVoiceConnectionCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobileVoiceConnection"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized or Limit Reached"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/mobile_voice_connections/{id}": {
      "delete": {
        "summary": "Delete a Mobile Voice Connection",
        "operationId": "deleteMobileVoiceConnection",
        "tags": [
          "Mobile Voice Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the mobile voice connection",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobileVoiceConnection"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Mobile Voice Connection",
        "operationId": "retrieveMobileVoiceConnection",
        "tags": [
          "Mobile Voice Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the mobile voice connection",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobileVoiceConnection"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a Mobile Voice Connection",
        "operationId": "updateMobileVoiceConnection",
        "tags": [
          "Mobile Voice Connections"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the mobile voice connection",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileVoiceConnectionUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MobileVoiceConnection"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/payment/stored_payment_transactions": {
      "post": {
        "summary": "Create a stored payment transaction",
        "operationId": "createStoredPaymentTransaction",
        "tags": [
          "Stored Payment Transactions"
        ],
        "x-endpoint-cost": "light",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoredPaymentTransactionRequest"
              },
              "example": {
                "amount": "120.00"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Stored payment transaction created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoredPaymentTransactionResponse"
                },
                "example": {
                  "data": {
                    "id": "de06811a-2e43-4561-af5a-7d0a26e20aaa",
                    "record_type": "transaction",
                    "amount_cents": 12000,
                    "processor_status": "submitted_for_settlement",
                    "amount_currency": "USD",
                    "created_at": "2026-02-25T10:00:00Z",
                    "auto_recharge": false,
                    "transaction_processing_type": "stored_payment"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "10027",
                      "title": "Invalid amount format",
                      "detail": "Amount must include dollars and cents (e.g. \"120.00\").",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10027"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/business_accounts": {
      "get": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "List Whatsapp Business Accounts",
        "operationId": "ListWabas",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "List of Whatsapp Business Accounts",
            "$ref": "#/components/responses/WabasListResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/business_accounts/{id}": {
      "delete": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Delete a Whatsapp Business Account",
        "operationId": "deleteWaba",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Get a single Whatsapp Business Account",
        "operationId": "GetSingleWaba",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          }
        ],
        "responses": {
          "200": {
            "description": "Whatsapp Business Account details",
            "$ref": "#/components/responses/WabaSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/business_accounts/{id}/phone_numbers": {
      "get": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "List phone numbers for a WABA",
        "operationId": "ListWabaPhones",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "List of phone numbers",
            "$ref": "#/components/responses/WhatsappPhonesListResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Initialize Whatsapp phone number verification",
        "operationId": "InitializeWhatsappVerification",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappPhoneNumberVerificationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Verification initiated"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/business_accounts/{id}/settings": {
      "get": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Get WABA settings",
        "operationId": "GetWabaSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          }
        ],
        "responses": {
          "200": {
            "description": "WABA settings",
            "$ref": "#/components/responses/WabaSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Update WABA settings",
        "operationId": "PatchWabaSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/WabaId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchWabaSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated settings",
            "$ref": "#/components/responses/WabaSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/message_templates": {
      "get": {
        "tags": [
          "Whatsapp Message Templates"
        ],
        "summary": "List Whatsapp message templates",
        "operationId": "ListWhatsappTemplates",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter[waba_id]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter by WABA ID"
          },
          {
            "name": "filter[category]",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MARKETING",
                "UTILITY",
                "AUTHENTICATION"
              ]
            },
            "description": "Filter by category"
          },
          {
            "name": "filter[status]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter by template status"
          },
          {
            "name": "filter[search]",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Search templates by name"
          }
        ],
        "responses": {
          "200": {
            "description": "Whatsapp templates list",
            "$ref": "#/components/responses/WhatsappTemplateListResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Whatsapp Message Templates"
        ],
        "summary": "Create a Whatsapp message template",
        "operationId": "PostWhatsappTemplate",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappCreateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Template created",
            "$ref": "#/components/responses/WhatsappTemplateSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers": {
      "get": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "List Whatsapp phone numbers",
        "operationId": "ListPhoneNumbers",
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "description": "Phone numbers",
            "$ref": "#/components/responses/WhatsappPhonesListResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}": {
      "delete": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Delete a Whatsapp phone number",
        "operationId": "DeleteWhatsappPhoneNumber",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "responses": {
          "204": {
            "description": "Phone number was successfully deleted"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}/calling_settings": {
      "get": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Get calling settings for a phone number",
        "operationId": "GetWhatsappCallingSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "responses": {
          "200": {
            "description": "Calling settings",
            "$ref": "#/components/responses/WhatsappCallingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Enable or disable Whatsapp calling for a phone number",
        "operationId": "PatchWhatsappCallingSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappPatchCallingSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated calling settings",
            "$ref": "#/components/responses/WhatsappCallingSettingsResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}/profile": {
      "get": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Get phone number business profile",
        "operationId": "GetWhatsappProfile",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "responses": {
          "200": {
            "description": "Profile",
            "$ref": "#/components/responses/WhatsappProfileSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Update phone number business profile",
        "operationId": "PatchWhatsappProfile",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappUpdateProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated profile",
            "$ref": "#/components/responses/WhatsappProfileSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}/profile/photo": {
      "delete": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Delete Whatsapp profile photo",
        "operationId": "DeleteWhatsappProfilePhoto",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "responses": {
          "204": {
            "description": "Photo deleted"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Get Whatsapp profile photo",
        "operationId": "GetWhatsappProfilePhoto",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "responses": {
          "200": {
            "description": "Profile photo",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhatsappProfilePhotoResponse"
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Upload Whatsapp profile photo",
        "operationId": "PostWhatsappProfilePhoto",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Image file (JPEG recommended, max 10 MB)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Profile with updated photo",
            "$ref": "#/components/responses/WhatsappProfileSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}/resend_verification": {
      "post": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Resend verification code",
        "operationId": "ResendWhatsappVerification",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappResendVerificationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Code resent"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/phone_numbers/{phone_number}/verify": {
      "post": {
        "tags": [
          "Whatsapp Phone Numbers"
        ],
        "summary": "Submit verification code for a phone number",
        "operationId": "VerifyWhatsappPhoneNumber",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappPhoneNumber"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappVerifyCodeRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Verified successfully"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp/user_data": {
      "get": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Fetch Whatsapp user data",
        "operationId": "GetWhatsappUserData",
        "responses": {
          "200": {
            "description": "Whatsapp user data",
            "$ref": "#/components/responses/WhatsappUserDataResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Whatsapp Business Accounts"
        ],
        "summary": "Update Whatsapp user data",
        "operationId": "PatchWhatsappUserData",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchWhatsappUserDataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated user data",
            "$ref": "#/components/responses/WhatsappUserDataResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/whatsapp_message_templates/{id}": {
      "delete": {
        "tags": [
          "Whatsapp Message Templates"
        ],
        "summary": "Delete a Whatsapp message template",
        "operationId": "DeleteWhatsappTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappTemplateId"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Whatsapp Message Templates"
        ],
        "summary": "Get a Whatsapp message template by ID",
        "operationId": "GetWhatsappTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappTemplateId"
          }
        ],
        "responses": {
          "200": {
            "description": "Template details",
            "$ref": "#/components/responses/WhatsappTemplateSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Whatsapp Message Templates"
        ],
        "summary": "Update a Whatsapp message template",
        "operationId": "PatchWhatsappTemplate",
        "parameters": [
          {
            "$ref": "#/components/parameters/WhatsappTemplateId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsappUpdateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated template",
            "$ref": "#/components/responses/WhatsappTemplateSingleResponse"
          },
          "4XX": {
            "$ref": "#/components/responses/messaging_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/x402/credit_account": {
      "post": {
        "summary": "Settle a payment",
        "description": "Settles an x402 payment using the quote ID and a signed payment authorization. The payment signature can be provided via the `PAYMENT-SIGNATURE` header or the `payment_signature` body parameter. Settlement is idempotent — submitting the same quote ID multiple times returns the existing transaction.",
        "operationId": "settleX402Payment",
        "tags": [
          "x402 Payment Transactions"
        ],
        "x-endpoint-cost": "light",
        "parameters": [
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "description": "Signed payment authorization for the quote. Alternative to providing `payment_signature` in the request body.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X402SettleRequest"
              },
              "example": {
                "id": "quote_abc123",
                "payment_signature": "0xabc123..."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Payment already settled (idempotent response)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402TransactionResponse"
                }
              }
            }
          },
          "201": {
            "description": "Payment settled successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402TransactionResponse"
                },
                "example": {
                  "data": {
                    "id": "de06811a-2e43-4561-af5a-7d0a26e20aaa",
                    "record_type": "x402_transaction",
                    "amount": "50.00",
                    "currency": "USD",
                    "status": "settled",
                    "quote_id": "quote_abc123",
                    "tx_hash": "0xabc123def456...",
                    "created_at": "2026-03-13T15:00:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request — invalid signature, expired authorization, invalid nonce, or malformed payment payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402SettlementErrorResponse"
                },
                "examples": {
                  "invalid_signature": {
                    "summary": "Invalid payment signature",
                    "value": {
                      "errors": [
                        {
                          "code": "invalid_signature",
                          "title": "Payment Failed",
                          "detail": "Payment failed: the payment signature is invalid. Please sign a new payment authorization."
                        }
                      ]
                    }
                  },
                  "expired_authorization": {
                    "summary": "Expired payment authorization",
                    "value": {
                      "errors": [
                        {
                          "code": "expired_authorization",
                          "title": "Payment Failed",
                          "detail": "Payment failed: the payment authorization has expired. Please request a new quote and try again."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — x402 payments not enabled, account tier ineligible, or account suspended",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — missing required parameters or insufficient funds/allowance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402SettlementErrorResponse"
                },
                "examples": {
                  "validation_error": {
                    "summary": "Missing required parameter",
                    "value": {
                      "errors": [
                        {
                          "code": "unknown",
                          "title": "Invalid request",
                          "detail": "id is required"
                        }
                      ]
                    }
                  },
                  "insufficient_balance": {
                    "summary": "Insufficient wallet balance",
                    "value": {
                      "errors": [
                        {
                          "code": "insufficient_balance",
                          "title": "Payment Failed",
                          "detail": "Payment failed: your wallet does not have enough USDC to complete this transaction. Please add funds and try again."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error — facilitator unavailable, transaction failed on-chain, or unknown error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402SettlementErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "transaction_failed",
                      "title": "Payment Failed",
                      "detail": "Payment transaction failed on-chain. Your funds have not been transferred. Please try again or contact support."
                    }
                  ]
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway — upstream settlement service error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable — facilitator or settlement timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402SettlementErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "facilitator_timeout",
                      "title": "Payment Failed",
                      "detail": "Payment processing timed out. Your funds have not been transferred. Please try again."
                    }
                  ]
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v2/x402/credit_account/quote": {
      "post": {
        "summary": "Create a payment quote",
        "description": "Creates a payment quote for the specified USD amount. Returns payment details including the x402 payment requirements, network, and expiration time. The quote must be settled before it expires.",
        "operationId": "createX402Quote",
        "tags": [
          "x402 Payment Transactions"
        ],
        "x-endpoint-cost": "light",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X402QuoteRequest"
              },
              "example": {
                "amount_usd": "50.00"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402QuoteResponse"
                },
                "example": {
                  "data": {
                    "id": "quote_abc123",
                    "record_type": "quote",
                    "amount_usd": "50.00",
                    "amount_crypto": "50000000",
                    "network": "eip155:8453",
                    "expires_at": "2026-03-13T15:05:00Z",
                    "payment_requirements": {
                      "x402Version": 2,
                      "resource": {
                        "url": "https://api.telnyx.com/v2/x402/credit_account",
                        "description": "Payment of $50.00 USD",
                        "mimeType": "application/json"
                      },
                      "accepts": [
                        {
                          "scheme": "exact",
                          "network": "eip155:8453",
                          "amount": "50000000",
                          "asset": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "payTo": "0x1234567890abcdef1234567890abcdef12345678",
                          "maxTimeoutSeconds": 900,
                          "extra": {
                            "quoteId": "quote_abc123",
                            "facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
                            "name": "USD Coin",
                            "version": "2"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — x402 payments not enabled, account tier ineligible, or account suspended",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — invalid amount",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                },
                "example": {
                  "errors": [
                    {
                      "code": "unknown",
                      "title": "Invalid request",
                      "detail": "amount_usd must be at least 5.00"
                    }
                  ]
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway — upstream payment service failed to create quote",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402-transactions_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/by_phone_number/{phone_number}": {
      "get": {
        "tags": [
          "Verify"
        ],
        "summary": "List verifications by phone number",
        "operationId": "ListVerifications",
        "parameters": [
          {
            "required": true,
            "description": "The phone number associated with the verifications to retrieve.",
            "schema": {
              "example": "+13035551234",
              "type": "string",
              "description": "+E164 formatted phone number."
            },
            "name": "phone_number",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerificationsResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/by_phone_number/{phone_number}/actions/verify": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Verify verification code by phone number",
        "operationId": "VerifyVerificationCodeByPhoneNumber",
        "parameters": [
          {
            "required": true,
            "description": "The phone number associated with the verification code being verified.",
            "schema": {
              "example": "+13035551234",
              "type": "string",
              "description": "+E164 formatted phone number."
            },
            "name": "phone_number",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyVerificationCodeRequestByPhoneNumber"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verify response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyVerificationCodeResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/call": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Trigger Call verification",
        "operationId": "CreateVerificationCall",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationRequestCall"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/flashcall": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Trigger Flash call verification",
        "operationId": "CreateFlashcallVerification",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/sms": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Trigger SMS verification",
        "operationId": "CreateVerificationSms",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationRequestSMS"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/whatsapp": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Trigger WhatsApp verification",
        "operationId": "CreateWhatsappVerification",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationRequestSMS"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/{verification_id}": {
      "get": {
        "tags": [
          "Verify"
        ],
        "summary": "Retrieve verification",
        "operationId": "RetrieveVerification",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the verification to retrieve.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "verification_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveVerificationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verifications/{verification_id}/actions/verify": {
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Verify verification code by ID",
        "operationId": "VerifyVerificationCodeById",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the verification to retrieve.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "verification_id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyVerificationCodeRequestById"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected verify response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyVerificationCodeResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verified_numbers": {
      "get": {
        "tags": [
          "Verified Numbers"
        ],
        "x-group-parameters": "true",
        "summary": "List all Verified Numbers",
        "description": "Gets a paginated list of Verified Numbers.",
        "operationId": "ListVerifiedNumbers",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Use page[size] and page[number] in the query string. Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "title": "page[size]",
                  "type": "integer",
                  "default": 25
                },
                "number": {
                  "title": "page[number]",
                  "type": "integer",
                  "default": 1
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerifiedNumbersResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verified-numbers_GenericErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequestErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/verified-numbers_UnprocessableEntityErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Verified Numbers"
        ],
        "summary": "Request phone number verification",
        "description": "Initiates phone number verification procedure. Supports DTMF extension dialing for voice calls to numbers behind IVR systems.",
        "operationId": "CreateVerifiedNumber",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "Create Verified Number Request",
                "type": "object",
                "required": [
                  "phone_number",
                  "verification_method"
                ],
                "properties": {
                  "phone_number": {
                    "example": "+15551234567",
                    "type": "string"
                  },
                  "verification_method": {
                    "description": "Verification method.",
                    "type": "string",
                    "enum": [
                      "sms",
                      "call"
                    ],
                    "example": "sms"
                  },
                  "extension": {
                    "example": "ww243w1",
                    "type": "string",
                    "description": "Optional DTMF extension sequence to dial after the call is answered. This parameter enables verification of phone numbers behind IVR systems that require extension dialing. Valid characters: digits 0-9, letters A-D, symbols * and #. Pauses: w = 0.5 second pause, W = 1 second pause. Maximum length: 50 characters. Only works with 'call' verification method.",
                    "default": null,
                    "maxLength": 50,
                    "pattern": "^[0-9A-D*#wW]*$"
                  }
                }
              },
              "examples": {
                "sms_verification": {
                  "summary": "SMS verification",
                  "value": {
                    "phone_number": "+15551234567",
                    "verification_method": "sms"
                  }
                },
                "call_verification": {
                  "summary": "Call verification",
                  "value": {
                    "phone_number": "+15551234567",
                    "verification_method": "call"
                  }
                },
                "call_with_extension": {
                  "summary": "Call verification with DTMF extension",
                  "description": "Example for verifying a number behind an IVR system that requires extension dialing",
                  "value": {
                    "phone_number": "+15551234567",
                    "verification_method": "call",
                    "extension": "ww243w1"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerifiedNumberResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verified-numbers_GenericErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequestErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/verified-numbers_UnprocessableEntityErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verified_numbers/{phone_number}": {
      "delete": {
        "tags": [
          "Verified Numbers"
        ],
        "summary": "Delete a verified number",
        "operationId": "DeleteVerifiedNumber",
        "parameters": [
          {
            "required": true,
            "description": "The phone number being deleted.",
            "schema": {
              "example": "+15551234567",
              "type": "string",
              "description": "+E164 formatted phone number."
            },
            "name": "phone_number",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifiedNumberResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verified-numbers_GenericErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequestErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/verified-numbers_NotFoundErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Verified Numbers"
        ],
        "summary": "Retrieve a verified number",
        "operationId": "GetVerifiedNumber",
        "parameters": [
          {
            "required": true,
            "description": "The phone number being requested.",
            "schema": {
              "example": "+15551234567",
              "type": "string",
              "description": "+E164 formatted phone number."
            },
            "name": "phone_number",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected verifications response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifiedNumberResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verified-numbers_GenericErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequestErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/verified-numbers_NotFoundErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verified_numbers/{phone_number}/actions/verify": {
      "post": {
        "tags": [
          "Verified Numbers"
        ],
        "summary": "Submit verification code",
        "operationId": "VerifyVerificationCode",
        "parameters": [
          {
            "required": true,
            "description": "The phone number being verified.",
            "schema": {
              "example": "+15551234567",
              "type": "string",
              "description": "+E164 formatted phone number."
            },
            "name": "phone_number",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "Verify Verification Code Request",
                "type": "object",
                "required": [
                  "verification_code"
                ],
                "properties": {
                  "verification_code": {
                    "example": "123456",
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifiedNumberResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verified-numbers_GenericErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequestErrorResponse"
          },
          "404": {
            "$ref": "#/components/responses/verified-numbers_NotFoundErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/verified-numbers_UnprocessableEntityErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verify_profiles": {
      "get": {
        "tags": [
          "Verify"
        ],
        "x-group-parameters": "true",
        "summary": "List all Verify profiles",
        "description": "Gets a paginated list of Verify profiles.",
        "operationId": "ListProfiles",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[name]",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "title": "filter[name]",
                  "type": "string",
                  "description": "Optional filter for profile names."
                }
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
            "schema": {
              "type": "object",
              "properties": {
                "size": {
                  "title": "page[size]",
                  "type": "integer",
                  "default": 25
                },
                "number": {
                  "title": "page[number]",
                  "type": "integer",
                  "default": 1
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected Verify profile response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerifyProfilesResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Create a Verify profile",
        "description": "Creates a new Verify profile to associate verifications with.",
        "operationId": "CreateVerifyProfile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "Create Verify Profile Request",
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "example": "Test Profile",
                    "type": "string"
                  },
                  "language": {
                    "type": "string",
                    "example": "en-US"
                  },
                  "webhook_url": {
                    "type": "string",
                    "example": "http://example.com/webhook"
                  },
                  "webhook_failover_url": {
                    "type": "string",
                    "example": "http://example.com/webhook/failover"
                  },
                  "sms": {
                    "type": "object",
                    "$ref": "#/components/schemas/CreateVerifyProfileSMSRequest",
                    "additionalProperties": true
                  },
                  "call": {
                    "type": "object",
                    "$ref": "#/components/schemas/CreateVerifyProfileCallRequest",
                    "additionalProperties": true
                  },
                  "flashcall": {
                    "type": "object",
                    "$ref": "#/components/schemas/CreateVerifyProfileSettingsRequest",
                    "additionalProperties": true
                  },
                  "whatsapp": {
                    "type": "object",
                    "$ref": "#/components/schemas/CreateVerifyProfileSettingsWhatsAppRequest",
                    "additionalProperties": true
                  },
                  "daily_spend_limit_enabled": {
                    "type": "boolean",
                    "default": false,
                    "description": "Whether the daily spend limit is enforced for this verify profile.",
                    "example": true
                  },
                  "daily_spend_limit": {
                    "type": "number",
                    "minimum": 0,
                    "description": "The maximum daily spend allowed on this verify profile, in USD.",
                    "example": 100
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected Verify profile response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyProfileResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verify_profiles/templates": {
      "get": {
        "tags": [
          "Verify"
        ],
        "summary": "Retrieve Verify profile message templates",
        "description": "List all Verify profile message templates.",
        "operationId": "ListProfileMessageTemplates",
        "responses": {
          "200": {
            "description": "Expected Verify profile message template response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerifyProfileMessageTemplateResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "tags": [
          "Verify"
        ],
        "summary": "Create message template",
        "description": "Create a new Verify profile message template.",
        "operationId": "CreateMessageTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMessageTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected message template response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageTemplateResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verify_profiles/templates/{template_id}": {
      "patch": {
        "tags": [
          "Verify"
        ],
        "summary": "Update message template",
        "description": "Update an existing Verify profile message template.",
        "operationId": "UpdateMessageTemplate",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the message template to update.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "template_id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMessageTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected message template response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageTemplateResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/verify_profiles/{verify_profile_id}": {
      "delete": {
        "tags": [
          "Verify"
        ],
        "summary": "Delete Verify profile",
        "operationId": "DeleteProfile",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the Verify profile to delete.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "verify_profile_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected Verify profile response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyProfileResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "tags": [
          "Verify"
        ],
        "summary": "Retrieve Verify profile",
        "description": "Gets a single Verify profile.",
        "operationId": "GetVerifyProfile",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the Verify profile to retrieve.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "verify_profile_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Expected Verify profile response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyProfileResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "tags": [
          "Verify"
        ],
        "summary": "Update Verify profile",
        "operationId": "UpdateVerifyProfile",
        "parameters": [
          {
            "required": true,
            "description": "The identifier of the Verify profile to update.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
            },
            "name": "verify_profile_id",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "Update Verify Profile Request",
                "type": "object",
                "properties": {
                  "name": {
                    "example": "Test Profile",
                    "type": "string"
                  },
                  "webhook_url": {
                    "type": "string",
                    "example": "http://example.com/webhook"
                  },
                  "webhook_failover_url": {
                    "type": "string",
                    "example": "http://example.com/webhook/failover"
                  },
                  "sms": {
                    "type": "object",
                    "$ref": "#/components/schemas/UpdateVerifyProfileSMSRequest",
                    "additionalProperties": true
                  },
                  "call": {
                    "type": "object",
                    "$ref": "#/components/schemas/UpdateVerifyProfileCallRequest",
                    "additionalProperties": true
                  },
                  "whatsapp": {
                    "type": "object",
                    "$ref": "#/components/schemas/UpdateVerifyProfileSettingsWhatsAppRequest",
                    "additionalProperties": true
                  },
                  "language": {
                    "type": "string",
                    "example": "en-US"
                  },
                  "daily_spend_limit_enabled": {
                    "type": "boolean",
                    "description": "Whether the daily spend limit is enforced for this verify profile.",
                    "example": true
                  },
                  "daily_spend_limit": {
                    "type": "number",
                    "minimum": 0,
                    "description": "The maximum daily spend allowed on this verify profile, in USD.",
                    "example": 100
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Expected Verify profile response to a valid request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyProfileResponseDataWrapper"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/verify_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/virtual_cross_connects": {
      "get": {
        "summary": "List all Virtual Cross Connects",
        "description": "List all Virtual Cross Connects.",
        "operationId": "ListVirtualCrossConnects",
        "tags": [
          "Virtual Cross Connects"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[network_id]",
            "schema": {
              "type": "object",
              "properties": {
                "network_id": {
                  "type": "string",
                  "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "description": "The associated network id to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Virtual Cross Connect",
        "description": "Create a new Virtual Cross Connect.<br /><br />For AWS and GCE, you have the option of creating the primary connection first and the secondary connection later. You also have the option of disabling the primary and/or secondary connections at any time and later re-enabling them. With Azure, you do not have this option. Azure requires both the primary and secondary connections to be created at the same time and they can not be independantly disabled.",
        "operationId": "CreateVirtualCrossConnect",
        "tags": [
          "Virtual Cross Connects"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualCrossConnectCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/virtual_cross_connects/{id}": {
      "delete": {
        "summary": "Delete a Virtual Cross Connect",
        "description": "Delete a Virtual Cross Connect.",
        "operationId": "DeleteVirtualCrossConnect",
        "tags": [
          "Virtual Cross Connects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a Virtual Cross Connect",
        "description": "Retrieve a Virtual Cross Connect.",
        "operationId": "GetVirtualCrossConnect",
        "tags": [
          "Virtual Cross Connects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update the Virtual Cross Connect",
        "description": "Update the Virtual Cross Connect.<br /><br />Cloud IPs can only be patched during the `created` state, as GCE will only inform you of your generated IP once the pending connection requested has been accepted. Once the Virtual Cross Connect has moved to `provisioning`, the IPs can no longer be patched.<br /><br />Once the Virtual Cross Connect has moved to `provisioned` and you are ready to enable routing, you can toggle the routing announcements to `true`.",
        "operationId": "UpdateVirtualCrossConnect",
        "tags": [
          "Virtual Cross Connects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualCrossConnectPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/virtual_cross_connects_coverage": {
      "get": {
        "summary": "List Virtual Cross Connect Cloud Coverage",
        "description": "List Virtual Cross Connects Cloud Coverage.<br /><br />This endpoint shows which cloud regions are available for the `location_code` your Virtual Cross Connect will be provisioned in.",
        "operationId": "ListVirtualCrossConnectCoverage",
        "tags": [
          "Virtual Cross Connects"
        ],
        "parameters": [
          {
            "name": "filters",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filters parameter (deepObject style). Originally: filters[available_bandwidth][contains]",
            "schema": {
              "type": "object",
              "properties": {
                "available_bandwidth": {
                  "oneOf": [
                    {
                      "type": "integer",
                      "description": "Filter by exact available bandwidth match"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "contains": {
                          "type": "integer",
                          "description": "Filter by available bandwidth containing the specified value"
                        }
                      },
                      "additionalProperties": false,
                      "description": "Available bandwidth filtering operations"
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[cloud_provider], filter[cloud_provider_region], filter[location.region], filter[location.site], filter[location.pop], filter[location.code]",
            "schema": {
              "type": "object",
              "properties": {
                "cloud_provider": {
                  "type": "string",
                  "enum": [
                    "aws",
                    "azure",
                    "gce"
                  ],
                  "description": "The Virtual Private Cloud provider.",
                  "example": "aws"
                },
                "cloud_provider_region": {
                  "type": "string",
                  "description": "The region of specific cloud provider.",
                  "example": "us-east-1"
                },
                "location.region": {
                  "type": "string",
                  "example": "AMER",
                  "description": "The region of associated location to filter on."
                },
                "location.site": {
                  "type": "string",
                  "example": "SJC",
                  "description": "The site of associated location to filter on."
                },
                "location.pop": {
                  "type": "string",
                  "example": "SV1",
                  "description": "The POP of associated location to filter on."
                },
                "location.code": {
                  "type": "string",
                  "example": "silicon_valley-ca",
                  "description": "The code of associated location to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VirtualCrossConnectCoverageListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/voice_clones": {
      "get": {
        "summary": "List voice clones",
        "description": "Returns a paginated list of voice clones belonging to the authenticated account.",
        "operationId": "listVoiceClones",
        "tags": [
          "Voice Clones"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/voice-designs_PageNumber"
          },
          {
            "$ref": "#/components/parameters/voice-designs_PageSize"
          },
          {
            "$ref": "#/components/parameters/FilterName"
          },
          {
            "$ref": "#/components/parameters/FilterProvider"
          },
          {
            "$ref": "#/components/parameters/voice-designs_Sort"
          }
        ],
        "responses": {
          "200": {
            "description": "A paginated list of voice clones.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceCloneListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Create a voice clone from a voice design",
        "description": "Creates a new voice clone by capturing the voice identity of an existing voice design. The clone can then be used for text-to-speech synthesis.",
        "operationId": "createVoiceClone",
        "tags": [
          "Voice Clones"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceCloneRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voice clone created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceCloneResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — validation error in the request body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway — upstream voice cloning service is unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_clones/from_upload": {
      "post": {
        "summary": "Create a voice clone from an audio file upload",
        "description": "Creates a new voice clone by uploading an audio file directly. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best results, provide 5–10 seconds of clear speech. Maximum file size: 5MB for Telnyx, 20MB for Minimax.",
        "operationId": "createVoiceCloneFromUpload",
        "tags": [
          "Voice Clones"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/VoiceCloneUploadRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voice clone created successfully from the uploaded audio.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceCloneResponse"
                }
              }
            }
          },
          "202": {
            "description": "Voice clone accepted — on-prem import in progress (Ultra model). Poll GET /voice_clones/{id} to check status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceCloneResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request — the audio file is invalid, unsupported, or exceeds the size limit.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — validation error in the request body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway — upstream voice cloning service is unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_clones/{id}": {
      "delete": {
        "summary": "Delete a voice clone",
        "description": "Permanently deletes a voice clone. This action cannot be undone.",
        "operationId": "deleteVoiceClone",
        "tags": [
          "Voice Clones"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice clone UUID.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Voice clone deleted successfully."
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice clone not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Update a voice clone",
        "description": "Updates the name, language, or gender of a voice clone.",
        "operationId": "updateVoiceClone",
        "tags": [
          "Voice Clones"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice clone UUID.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceCloneUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Voice clone updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceCloneResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice clone not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — validation error in the request body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_clones/{id}/sample": {
      "get": {
        "summary": "Download voice clone audio sample",
        "description": "Downloads the WAV audio sample that was used to create the voice clone.",
        "operationId": "getVoiceCloneSample",
        "tags": [
          "Voice Clones"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice clone UUID.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "WAV audio sample binary.",
            "content": {
              "audio/wav": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice clone not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_designs": {
      "get": {
        "summary": "List voice designs",
        "description": "Returns a paginated list of voice designs belonging to the authenticated account.",
        "operationId": "listVoiceDesigns",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/voice-designs_PageNumber"
          },
          {
            "$ref": "#/components/parameters/voice-designs_PageSize"
          },
          {
            "$ref": "#/components/parameters/FilterName"
          },
          {
            "$ref": "#/components/parameters/voice-designs_Sort"
          }
        ],
        "responses": {
          "200": {
            "description": "A paginated list of voice designs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceDesignListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "post": {
        "summary": "Create or add a version to a voice design",
        "description": "Creates a new voice design (version 1) when `voice_design_id` is omitted. When `voice_design_id` is provided, adds a new version to the existing design instead. A design can have at most 50 versions.",
        "operationId": "createVoiceDesign",
        "tags": [
          "Voice Designs"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceDesignRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voice design created or new version added successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceDesignResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design not found — the specified `voice_design_id` does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict — the voice design has reached the maximum of 50 versions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — validation error in the request body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Bad gateway — upstream voice synthesis service is unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_designs/{id}": {
      "delete": {
        "summary": "Delete a voice design",
        "description": "Permanently deletes a voice design and all of its versions. This action cannot be undone.",
        "operationId": "deleteVoiceDesign",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice design UUID or name.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Voice design deleted successfully."
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "get": {
        "summary": "Get a voice design",
        "description": "Returns the latest version of a voice design, or a specific version when `?version=N` is provided. The `id` parameter accepts either a UUID or the design name.",
        "operationId": "getVoiceDesign",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice design UUID or name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "description": "Specific version number to retrieve. Defaults to the latest version.",
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested voice design.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceDesignResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      },
      "patch": {
        "summary": "Rename a voice design",
        "description": "Updates the name of a voice design. All versions retain their other properties.",
        "operationId": "updateVoiceDesign",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice design UUID or name.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoiceDesignUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Voice design renamed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoiceDesignUpdatedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity — validation error in the request body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_designs/{id}/sample": {
      "get": {
        "summary": "Download voice design audio sample",
        "description": "Downloads the WAV audio sample for the voice design. Returns the latest version's sample by default, or a specific version when `?version=N` is provided. The `id` parameter accepts either a UUID or the design name.",
        "operationId": "getVoiceDesignSample",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice design UUID or name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "description": "Specific version number to download the sample for. Defaults to the latest version.",
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "WAV audio sample binary.",
            "content": {
              "audio/wav": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design or version not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/voice_designs/{id}/versions/{version}": {
      "delete": {
        "summary": "Delete a specific version of a voice design",
        "description": "Permanently deletes a specific version of a voice design. The version number must be a positive integer.",
        "operationId": "deleteVoiceDesignVersion",
        "tags": [
          "Voice Designs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The voice design UUID or name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "description": "The version number to delete.",
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Voice design version deleted successfully."
          },
          "400": {
            "description": "Bad request — invalid version number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Voice design or version not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice-designs_ErrorResponse"
                }
              }
            }
          }
        },
        "x-latency-category": "interactive"
      }
    },
    "/webhook_deliveries": {
      "get": {
        "description": "Lists webhook_deliveries for the authenticated user",
        "summary": "List webhook deliveries",
        "operationId": "GetWebhookDeliveries",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageConsolidated"
          },
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "required": false,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[status][eq], filter[event_type], filter[webhook][contains], filter[attempts][contains], filter[started_at][gte], filter[started_at][lte], filter[finished_at][gte], filter[finished_at][lte]",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "enum": [
                        "delivered",
                        "failed"
                      ],
                      "example": "delivered",
                      "description": "Return only webhook_deliveries matching the given `status`"
                    }
                  }
                },
                "event_type": {
                  "type": "string",
                  "example": "call_initiated,call.initiated",
                  "description": "Return only webhook_deliveries matching the given value of `event_type`. Accepts multiple values separated by a `,`."
                },
                "webhook": {
                  "type": "object",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "call.initiated",
                      "description": "Return only webhook deliveries whose `webhook` component contains the given text"
                    }
                  }
                },
                "attempts": {
                  "type": "object",
                  "properties": {
                    "contains": {
                      "type": "string",
                      "example": "https://fallback.example.com/webhooks",
                      "description": "Return only webhook_deliveries whose `attempts` component contains the given text"
                    }
                  }
                },
                "started_at": {
                  "type": "object",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Return only webhook_deliveries whose delivery started later than or at given ISO 8601 datetime"
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Return only webhook_deliveries whose delivery started earlier than or at given ISO 8601 datetime"
                    }
                  }
                },
                "finished_at": {
                  "type": "object",
                  "properties": {
                    "gte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Return only webhook_deliveries whose delivery finished later than or at given ISO 8601 datetime"
                    },
                    "lte": {
                      "type": "string",
                      "example": "2019-03-29T11:10:00Z",
                      "description": "Return only webhook_deliveries whose delivery finished earlier than or at given ISO 8601 datetime"
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListWebhookDeliveriesResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/webhook_deliveries/{id}": {
      "get": {
        "summary": "Find webhook_delivery details by ID",
        "description": "Provides webhook_delivery debug data, such as timestamps, delivery status and attempts.",
        "operationId": "GetWebhookDelivery",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Uniquely identifies the webhook_delivery.",
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "C9C0797E-901D-4349-A33C-C2C8F31A92C2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Webhook delivery record.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/webhook_delivery"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "WebhookDelivery not found"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireguard_interfaces": {
      "get": {
        "summary": "List all WireGuard Interfaces",
        "description": "List all WireGuard Interfaces.",
        "operationId": "ListWireguardInterfaces",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[network_id]",
            "schema": {
              "type": "object",
              "properties": {
                "network_id": {
                  "type": "string",
                  "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "description": "The associated network id to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardInterfaceListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a WireGuard Interface",
        "description": "Create a new WireGuard Interface. Current limitation of 10 interfaces per user can be created.",
        "operationId": "CreateWireguardInterface",
        "tags": [
          "WireGuard Interfaces"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WireguardInterfaceCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/WireguardInterfaceResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireguard_interfaces/{id}": {
      "delete": {
        "summary": "Delete a WireGuard Interface",
        "description": "Delete a WireGuard Interface.",
        "operationId": "DeleteWireguardInterface",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardInterfaceResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve a WireGuard Interfaces",
        "description": "Retrieve a WireGuard Interfaces.",
        "operationId": "GetWireguardInterface",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardInterfaceResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireguard_peers": {
      "get": {
        "summary": "List all WireGuard Peers",
        "description": "List all WireGuard peers.",
        "operationId": "ListWireguardPeers",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "description": "Consolidated filter parameter (deepObject style). Originally: filter[wireguard_interface_id]",
            "schema": {
              "type": "object",
              "properties": {
                "wireguard_interface_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "description": "The id of the associated WireGuard interface to filter on."
                }
              }
            }
          },
          {
            "$ref": "#/components/parameters/PageConsolidated"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardPeerListResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a WireGuard Peer",
        "description": "Create a new WireGuard Peer. Current limitation of 5 peers per interface can be created.",
        "operationId": "CreateWireguardPeer",
        "tags": [
          "WireGuard Interfaces"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WireguardPeerCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/WireguardPeerResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireguard_peers/{id}": {
      "delete": {
        "summary": "Delete the WireGuard Peer",
        "description": "Delete the WireGuard peer.",
        "operationId": "DeleteWireguardPeer",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardPeerResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Retrieve the WireGuard Peer",
        "description": "Retrieve the WireGuard peer.",
        "operationId": "GetWireguardPeer",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardPeerResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update the WireGuard Peer",
        "description": "Update the WireGuard peer.",
        "operationId": "UpdateWireguardPeer",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WireguardPeerPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/WireguardPeerResponse"
          },
          "422": {
            "$ref": "#/components/responses/netapps_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireguard_peers/{id}/config": {
      "get": {
        "summary": "Retrieve Wireguard config template for Peer",
        "description": "Retrieve Wireguard config template for Peer",
        "operationId": "GetWireguardPeerConfig",
        "tags": [
          "WireGuard Interfaces"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "[Interface]\nPrivateKey = <! INSERT PEER PRIVATE KEY HERE !>\nAddress = 198.51.100.1/32\n\n[Peer]\nPublicKey = qF4EqlZq+5JL2IKYY8ij49daYyfKVhevJrcDxdqC8GU=\nAllowedIPs = 198.51.100.0/29\nEndpoint = 203.0.113.0:51871\nPersistentKeepalive = 25\n"
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          },
          "default": {
            "$ref": "#/components/responses/netapps_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireless/detail_records_reports": {
      "get": {
        "summary": "Get all Wireless Detail Records (WDRs) Reports",
        "description": "Returns the WDR Reports that match the given parameters.",
        "operationId": "GetWdrReports",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetWdrReportsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "x-latency-category": "background",
        "summary": "Create a Wireless Detail Records (WDRs) Report",
        "description": "Asynchronously create a report containing Wireless Detail Records (WDRs) for the SIM cards that consumed wireless data in the given time period.\n",
        "operationId": "CreateWdrReport",
        "tags": [
          "Reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WdrReportRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateWdrReportResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/wireless/detail_records_reports/{id}": {
      "delete": {
        "summary": "Delete a Wireless Detail Record (WDR) Report",
        "description": "Deletes one specific WDR report.",
        "operationId": "DeleteWdrReport",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteWdrReportResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "x-latency-category": "background",
        "summary": "Get a Wireless Detail Record (WDR) Report",
        "description": "Returns one specific WDR report",
        "operationId": "GetWdrReport",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ResourceId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetWdrReportResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        }
      }
    },
    "/wireless/regions": {
      "get": {
        "tags": [
          "Wireless Regions"
        ],
        "parameters": [
          {
            "name": "product",
            "description": "The product for which to list regions (e.g., 'public_ips', 'private_wireless_gateways').",
            "schema": {
              "type": "string",
              "example": "public_ips"
            },
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A list of wireless regions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/wireless_Region"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "WirelessRegionsGetAll",
        "summary": "Get all wireless regions",
        "description": "Retrieve all wireless regions for the given product.",
        "x-latency-category": "responsive"
      }
    },
    "/wireless_blocklist_values": {
      "get": {
        "tags": [
          "Wireless Blocklists"
        ],
        "parameters": [
          {
            "name": "type",
            "description": "The Wireless Blocklist type for which to list possible values (e.g., `country`, `mcc`, `plmn`).",
            "schema": {
              "type": "string",
              "enum": [
                "country",
                "mcc",
                "plmn"
              ],
              "example": "country"
            },
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A list of possible wireless blocklist values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "oneOf": [
                        {
                          "title": "Country",
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Country"
                          }
                        },
                        {
                          "title": "MCC",
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MCC"
                          }
                        },
                        {
                          "title": "PLMN",
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/PLMN"
                          }
                        }
                      ]
                    },
                    "meta": {
                      "$ref": "#/components/schemas/PaginationMeta"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "operationId": "WirelessBlocklistsGetAll",
        "summary": "Get all possible wireless blocklist values",
        "description": "Retrieve all wireless blocklist values for a given blocklist type.",
        "x-latency-category": "responsive"
      }
    },
    "/wireless_blocklists": {
      "get": {
        "summary": "Get all Wireless Blocklists",
        "description": "Get all Wireless Blocklists belonging to the user.",
        "operationId": "GetWirelessBlocklistsGateways",
        "tags": [
          "Wireless Blocklists"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/wireless_PageNumber"
          },
          {
            "$ref": "#/components/parameters/wireless_PageSize"
          },
          {
            "name": "filter[name]",
            "description": "The name of the Wireless Blocklist.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "my private gateway"
          },
          {
            "name": "filter[type]",
            "description": "When the Private Wireless Gateway was last updated.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "country"
          },
          {
            "name": "filter[values]",
            "description": "Values to filter on (inclusive).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "US,CA"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllWirelessBlocklistsResponse"
          },
          "401": {
            "description": "Unauthorized"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "post": {
        "summary": "Create a Wireless Blocklist",
        "description": "Create a Wireless Blocklist to prevent SIMs from connecting to certain networks.",
        "operationId": "CreateWirelessBlocklist",
        "tags": [
          "Wireless Blocklists"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The name of the Wireless Blocklist.",
                    "type": "string",
                    "example": "My Wireless Blocklist"
                  },
                  "type": {
                    "description": "The type of wireless blocklist.",
                    "type": "string",
                    "enum": [
                      "country",
                      "mcc",
                      "plmn"
                    ],
                    "example": "country"
                  },
                  "values": {
                    "description": "Values to block. The values here depend on the `type` of Wireless Blocklist.",
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/CountryCode"
                        },
                        {
                          "$ref": "#/components/schemas/MobileCountryCode"
                        },
                        {
                          "$ref": "#/components/schemas/PLMNCode"
                        }
                      ]
                    },
                    "example": [
                      "CA",
                      "US"
                    ]
                  }
                },
                "required": [
                  "name",
                  "type",
                  "values"
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/CreateWirelessBlocklistResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/wireless_blocklists/{id}": {
      "delete": {
        "summary": "Delete a Wireless Blocklist",
        "description": "Deletes the Wireless Blocklist.",
        "operationId": "DeleteWirelessBlocklist",
        "tags": [
          "Wireless Blocklists"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WirelessBlocklistId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteWirelessBlocklistResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "get": {
        "summary": "Get a Wireless Blocklist",
        "description": "Retrieve information about a Wireless Blocklist.",
        "operationId": "GetWirelessBlocklist",
        "tags": [
          "Wireless Blocklists"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WirelessBlocklistId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetWirelessBlocklistResponse"
          },
          "404": {
            "$ref": "#/components/responses/wireless_ResourceNotFound"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      },
      "patch": {
        "summary": "Update a Wireless Blocklist",
        "description": "Update a Wireless Blocklist.",
        "operationId": "UpdateWirelessBlocklist",
        "tags": [
          "Wireless Blocklists"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WirelessBlocklistId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The name of the Wireless Blocklist.",
                    "type": "string",
                    "example": "My Wireless Blocklist"
                  },
                  "values": {
                    "description": "Values to block. The values here depend on the `type` of Wireless Blocklist.",
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/CountryCode"
                        },
                        {
                          "$ref": "#/components/schemas/MobileCountryCode"
                        },
                        {
                          "$ref": "#/components/schemas/PLMNCode"
                        }
                      ]
                    },
                    "example": [
                      "CA",
                      "US"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/UpdateWirelessBlocklistResponse"
          },
          "422": {
            "$ref": "#/components/responses/wireless_UnprocessableEntity"
          },
          "default": {
            "$ref": "#/components/responses/wireless_GenericErrorResponse"
          }
        },
        "x-latency-category": "responsive"
      }
    },
    "/v1/chat/completions": {
      "post": {
        "operationId": "x402_v1ChatCompletions",
        "summary": "Pay-per-call chat completions via x402",
        "description": "Public x402 gateway. Send a POST per the OpenAI chat-completions contract; the gateway proxies to Telnyx Inference (Kimi K2.6). Returns HTTP 402 with `payment-required` header; settle the x402 challenge to receive the completion. No Telnyx API key required.",
        "tags": [
          "x402"
        ],
        "servers": [
          {
            "url": "https://x402.telnyx.com",
            "description": "x402 pay-per-call gateway"
          }
        ],
        "security": [],
        "x-payment-info": {
          "offers": [
            {
              "intent": "charge",
              "method": "x402",
              "amount": "1000",
              "currency": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "description": "0.001 USDC per call via x402 on Base. Gateway: https://x402.telnyx.com/v1/chat/completions"
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "messages"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Currently fixed to \"moonshotai/Kimi-K2.6\"."
                  },
                  "messages": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "role",
                        "content"
                      ],
                      "properties": {
                        "role": {
                          "type": "string",
                          "enum": [
                            "system",
                            "user",
                            "assistant",
                            "tool"
                          ]
                        },
                        "content": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "max_tokens": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 512
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful completion (returned after payment settles).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402ChatCompletionResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required — settle the x402 challenge described in the payment-required header. Gateway: https://x402.telnyx.com/v1/chat/completions. See `x-payment-info` for accepted payment offers.",
            "headers": {
              "payment-required": {
                "description": "Base64-encoded x402v2 PaymentRequired envelope. Decode and settle the challenge per the x402 protocol.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/x402PaymentRequired"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "callbacks": {},
    "examples": {
      "Maximum20JobsAllowed": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "You can have at most 20 pending or in progress jobs",
              "source": {
                "pointer": "/base"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      },
      "MaximumAllowedPhoneNumbers": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "1000 numbers is the maximum allowed.",
              "source": {
                "pointer": "/phone_numbers"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      },
      "MinimumAllowedPhoneNumbers": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "You must provide at least 1 phone number.",
              "source": {
                "pointer": "/phone_numbers"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      },
      "MixedIdsAndE164Values": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "You must specify either all phone numbers in the e164 format or all as phone number ids",
              "source": {
                "pointer": "/phone_numbers"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      },
      "NotAuthorized": {
        "value": {
          "errors": [
            {
              "code": "10006",
              "title": "Not authorized",
              "detail": "You are not authorized to access the requested resource.",
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10006"
              }
            }
          ]
        }
      },
      "PhoneNumberOwnership": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "You must own every number in the bulk request",
              "source": {
                "pointer": "/phone_numbers"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      },
      "PhoneNumbersMustBePresent": {
        "value": {
          "errors": [
            {
              "code": "10015",
              "title": "Bad Request",
              "detail": "must be present",
              "source": {
                "pointer": "/phone_numbers"
              },
              "meta": {
                "url": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          ]
        }
      }
    },
    "headers": {},
    "links": {},
    "parameters": {
      "10dlc_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[telnyx_campaign_id], filter[telnyx_brand_id], filter[tcr_campaign_id], filter[tcr_brand_id]",
        "schema": {
          "type": "object",
          "properties": {
            "telnyx_campaign_id": {
              "type": "string",
              "format": "uuid",
              "example": "f3575e15-32ce-400e-a4c0-dd78800c20b0",
              "description": "Filter results by the Telnyx Campaign id"
            },
            "telnyx_brand_id": {
              "type": "string",
              "format": "uuid",
              "example": "f3575e15-32ce-400e-a4c0-dd78800c20b0",
              "description": "Filter results by the Telnyx Brand id"
            },
            "tcr_campaign_id": {
              "type": "string",
              "example": "CAMPID3",
              "description": "Filter results by the TCR Campaign id"
            },
            "tcr_brand_id": {
              "type": "string",
              "example": "BRANDID",
              "description": "Filter results by the TCR Brand id"
            }
          }
        }
      },
      "AccountSid": {
        "name": "account_sid",
        "in": "path",
        "required": true,
        "description": "The id of the account the resource belongs to.",
        "schema": {
          "type": "string"
        }
      },
      "AuthorizationBearer": {
        "name": "authorization_bearer",
        "in": "header",
        "schema": {
          "type": "string",
          "description": "Authenticates the request with your Telnyx API V2 KEY"
        },
        "description": "Format: Bearer <TOKEN>"
      },
      "BundleId": {
        "required": true,
        "schema": {
          "title": "Bundle Id",
          "type": "string",
          "format": "uuid",
          "example": "8661948c-a386-4385-837f-af00f40f111a",
          "description": "Billing bundle's ID, this is used to identify the billing bundle in the API."
        },
        "name": "bundle_id",
        "in": "path"
      },
      "CallControlId": {
        "name": "call_control_id",
        "description": "Unique identifier and token for controlling the call",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "CallSid": {
        "name": "call_sid",
        "in": "path",
        "required": true,
        "description": "The CallSid that identifies the call to update.",
        "schema": {
          "type": "string"
        }
      },
      "CallSidOrParticipantLabel": {
        "name": "call_sid_or_participant_label",
        "in": "path",
        "required": true,
        "description": "CallSid or Label of the Participant to update.",
        "schema": {
          "type": "string"
        }
      },
      "ConferenceRegion": {
        "name": "region",
        "in": "query",
        "description": "Region where the conference data is located",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "Australia",
            "Europe",
            "Middle East",
            "US"
          ]
        }
      },
      "ConferenceSid": {
        "name": "conference_sid",
        "in": "path",
        "required": true,
        "description": "The ConferenceSid that uniquely identifies a conference.",
        "schema": {
          "type": "string"
        }
      },
      "ConferenceStatus": {
        "name": "Status",
        "in": "query",
        "required": false,
        "description": "Filters conferences by status.",
        "schema": {
          "type": "string",
          "enum": [
            "init",
            "in-progress",
            "completed"
          ]
        },
        "example": "in-progress"
      },
      "ConnectionId": {
        "name": "connection_id",
        "description": "Telnyx connection id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1293384261075731461"
        }
      },
      "DateCreated": {
        "name": "DateCreated",
        "in": "query",
        "required": false,
        "description": "Filters conferences by the creation date. Expected format is YYYY-MM-DD. Also accepts inequality operators, e.g. DateCreated>=2023-05-22.",
        "schema": {
          "type": "string"
        },
        "example": ">=2023-05-22"
      },
      "DateUpdated": {
        "name": "DateUpdated",
        "in": "query",
        "required": false,
        "description": "Filters conferences by the time they were last updated. Expected format is YYYY-MM-DD. Also accepts inequality operators, e.g. DateUpdated>=2023-05-22.",
        "schema": {
          "type": "string"
        },
        "example": ">=2023-05-22"
      },
      "DocReqsRequirementId": {
        "name": "id",
        "in": "path",
        "description": "Uniquely identifies the requirement_type record",
        "example": "a9dad8d5-fdbd-49d7-aa23-39bb08a5ebaa",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "DocReqsRequirementTypeId": {
        "name": "id",
        "in": "path",
        "description": "Uniquely identifies the requirement_type record",
        "example": "a38c217a-8019-48f8-bff6-0fdd9939075b",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "EndTime": {
        "name": "EndTime",
        "in": "query",
        "required": false,
        "description": "Filters calls by their end date. Expected format is YYYY-MM-DD",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "EndTime_gt": {
        "name": "EndTime_gt",
        "in": "query",
        "required": false,
        "description": "Filters calls by their end date (after). Expected format is YYYY-MM-DD",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "EndTime_lt": {
        "name": "EndTime_lt",
        "in": "query",
        "required": false,
        "description": "Filters calls by their end date (before). Expected format is YYYY-MM-DD",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "EnterpriseId": {
        "name": "enterprise_id",
        "in": "path",
        "required": true,
        "description": "Unique identifier of the enterprise (UUID)",
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "FilterBasicStatusLifecycle": {
        "name": "filter[status]",
        "description": "Filter by a specific status of the resource's lifecycle.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "in-progress",
            "completed",
            "failed"
          ],
          "example": "in-progress"
        }
      },
      "FilterCivicAddressesConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Filter parameter for civic addresses (deepObject style). Supports filtering by country.",
        "schema": {
          "type": "object",
          "properties": {
            "country": {
              "type": "array",
              "example": [
                "US",
                "CA",
                "MX",
                "BR"
              ],
              "items": {
                "type": "string",
                "description": "The ISO 3166-1 alpha-2 country code (2 characters)"
              },
              "description": "The country (or countries) to filter addresses by."
            }
          }
        }
      },
      "FilterConnectionsConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Filter parameter for external connections (deepObject style). Supports filtering by connection_name, external_sip_connection, id, created_at, and phone_number.",
        "schema": {
          "type": "object",
          "properties": {
            "connection_name": {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "string",
                  "default": null,
                  "example": "My Connection",
                  "description": "If present, connections with <code>connection_name</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              }
            },
            "external_sip_connection": {
              "enum": [
                "zoom",
                "operator_connect"
              ],
              "type": "string",
              "example": "zoom",
              "description": "If present, connections with <code>external_sip_connection</code> matching the given value will be returned."
            },
            "id": {
              "type": "string",
              "default": null,
              "example": "1930241863466354012",
              "description": "If present, connections with <code>id</code> matching the given value will be returned."
            },
            "created_at": {
              "type": "string",
              "default": null,
              "example": "2022-12-31",
              "description": "If present, connections with <code>created_at</code> date matching the given YYYY-MM-DD date will be returned."
            },
            "phone_number": {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "string",
                  "example": "+15555555555",
                  "description": "If present, connections associated with the given phone_number will be returned. A full match is necessary with a e164 format."
                }
              },
              "description": "Phone number filter for connections. Note: Despite the 'contains' name, this requires a full E164 match per the original specification."
            }
          }
        }
      },
      "FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[customer_reference][eq], filter[customer_reference][contains], filter[used_as_emergency], filter[street_address][contains], filter[address_book][eq]",
        "schema": {
          "type": "object",
          "properties": {
            "street_address": {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "string",
                  "description": "If present, addresses with <code>street_address</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              }
            },
            "address_book": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "description": "If present, only returns results with the <code>address_book</code> flag equal to the given value."
                }
              }
            },
            "customer_reference": {
              "oneOf": [
                {
                  "type": "string",
                  "description": "If present, addresses with <code>customer_reference</code> containing the given value will be returned. Matching is not case-sensitive."
                },
                {
                  "type": "object",
                  "properties": {
                    "eq": {
                      "type": "string",
                      "description": "Exact match for customer_reference."
                    },
                    "contains": {
                      "type": "string",
                      "description": "Partial match for customer_reference. Matching is not case-sensitive."
                    }
                  }
                }
              ]
            },
            "used_as_emergency": {
              "type": "string",
              "description": "If set as 'true', only addresses used as the emergency address for at least one active phone-number will be returned. When set to 'false', the opposite happens: only addresses not used as the emergency address from phone-numbers will be returned."
            }
          }
        }
      },
      "FilterDocumentLinksConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter for document links (deepObject style). Originally: filter[linked_record_type], filter[linked_resource_id]",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "linked_record_type": {
              "type": "string",
              "example": "porting_order",
              "description": "The linked_record_type of the document to filter on."
            },
            "linked_resource_id": {
              "type": "string",
              "format": "uuid",
              "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
              "description": "The linked_resource_id of the document to filter on."
            }
          }
        }
      },
      "FilterDocumentsConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter for documents (deepObject style). Originally: filter[filename][contains], filter[customer_reference][eq], filter[customer_reference][in][], filter[created_at][gt], filter[created_at][lt]",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "filename": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "contains": {
                  "type": "string",
                  "example": "invoice",
                  "description": "Filter by string matching part of filename."
                }
              }
            },
            "customer_reference": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "MY REF 001",
                  "description": "Filter documents by a customer reference."
                },
                "in": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "MY REF 001",
                    "MY REF 002"
                  ],
                  "description": "Filter documents by a list of customer references."
                }
              }
            },
            "created_at": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "gt": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2021-04-09T22:25:27.521Z",
                  "description": "Filter by created at greater than provided value."
                },
                "lt": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2021-04-09T22:25:27.521Z",
                  "description": "Filter by created at less than provided value."
                }
              }
            }
          },
          "example": {
            "filename": {
              "contains": "invoice"
            },
            "customer_reference": {
              "in": [
                "REF001",
                "REF002"
              ]
            },
            "created_at": {
              "gt": "2021-01-01T00:00:00Z"
            }
          }
        }
      },
      "FilterLogMessagesConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Filter parameter for log messages (deepObject style). Supports filtering by external_connection_id and telephone_number with eq/contains operations.",
        "schema": {
          "type": "object",
          "properties": {
            "external_connection_id": {
              "type": "string",
              "example": "67ea7693-9cd5-4a68-8c76-abb3aa5bf5d2",
              "description": "The external connection ID to filter by or \"null\" to filter for logs without an external connection ID"
            },
            "telephone_number": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "+1234567890",
                  "description": "The phone number to filter log messages for or \"null\" to filter for logs without a phone number",
                  "x-format": "E164"
                },
                "contains": {
                  "type": "string",
                  "example": "+123",
                  "description": "The partial phone number to filter log messages for. Requires 3-15 digits."
                }
              },
              "description": "Telephone number filter operations for log messages. Use 'eq' for exact matches or 'contains' for partial matches."
            }
          }
        }
      },
      "FilterMobileNetworkOperatorsConsolidated": {
        "name": "filter",
        "in": "query",
        "explode": true,
        "description": "Consolidated filter parameter for mobile network operators (deepObject style). Originally: filter[name][starts_with], filter[name][contains], filter[name][ends_with], filter[country_code], filter[mcc], filter[mnc], filter[tadig], filter[network_preferences_enabled]",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "object",
              "properties": {
                "starts_with": {
                  "type": "string",
                  "example": "AT",
                  "description": "Filter by name starting with."
                },
                "contains": {
                  "type": "string",
                  "example": "T&T",
                  "description": "Filter by name containing match."
                },
                "ends_with": {
                  "type": "string",
                  "example": "T",
                  "description": "Filter by name ending with."
                }
              },
              "description": "Advanced name filtering operations"
            },
            "country_code": {
              "type": "string",
              "example": "US",
              "description": "Filter by exact country_code."
            },
            "mcc": {
              "type": "string",
              "example": "310",
              "description": "Filter by exact MCC."
            },
            "mnc": {
              "type": "string",
              "example": "410",
              "description": "Filter by exact MNC."
            },
            "tadig": {
              "type": "string",
              "example": "USACG",
              "description": "Filter by exact TADIG."
            },
            "network_preferences_enabled": {
              "type": "boolean",
              "example": true,
              "description": "Filter by network_preferences_enabled."
            }
          }
        }
      },
      "FilterName": {
        "name": "filter[name]",
        "in": "query",
        "required": false,
        "description": "Case-insensitive substring filter on the name field.",
        "schema": {
          "type": "string"
        }
      },
      "FilterOTAUpdatesConsolidated": {
        "name": "filter",
        "in": "query",
        "explode": true,
        "description": "Consolidated filter parameter for OTA updates (deepObject style). Originally: filter[status], filter[sim_card_id], filter[type]",
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "in-progress",
                "completed",
                "failed"
              ],
              "example": "in-progress",
              "description": "Filter by a specific status of the resource's lifecycle."
            },
            "sim_card_id": {
              "type": "string",
              "description": "The SIM card identification UUID."
            },
            "type": {
              "type": "string",
              "enum": [
                "sim_card_network_preferences"
              ],
              "example": "sim_card_network_preferences",
              "description": "Filter by type."
            }
          }
        }
      },
      "FilterOrganizationUserEmail": {
        "name": "filter[email]",
        "in": "query",
        "description": "Filter by email address (partial match)",
        "schema": {
          "type": "string"
        }
      },
      "FilterOrganizationUserStatus": {
        "name": "filter[user_status]",
        "in": "query",
        "description": "Filter by user status",
        "schema": {
          "type": "string",
          "enum": [
            "enabled",
            "disabled",
            "blocked"
          ]
        }
      },
      "FilterPhoneNumbersConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Filter parameter for phone numbers (deepObject style). Supports filtering by phone_number, civic_address_id, and location_id with eq/contains operations.",
        "schema": {
          "type": "object",
          "properties": {
            "phone_number": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "+19705555098",
                  "description": "The phone number to filter by (exact match)"
                },
                "contains": {
                  "type": "string",
                  "example": "+1970",
                  "description": "The phone number to filter by (partial match)"
                }
              }
            },
            "civic_address_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19990261512338516954",
                  "description": "The civic address ID to filter by"
                }
              }
            },
            "location_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19995665508264022121",
                  "description": "The location ID to filter by"
                }
              }
            }
          }
        }
      },
      "FilterProvider": {
        "name": "filter[provider]",
        "in": "query",
        "required": false,
        "description": "Filter by voice synthesis provider. Case-insensitive.",
        "schema": {
          "type": "string",
          "enum": [
            "telnyx",
            "minimax",
            "Telnyx",
            "Minimax"
          ]
        }
      },
      "FilterReleasesConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Filter parameter for releases (deepObject style). Supports filtering by status, civic_address_id, location_id, and phone_number with eq/contains operations.",
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pending_upload",
                      "pending",
                      "in_progress",
                      "complete",
                      "failed",
                      "expired",
                      "unknown"
                    ]
                  },
                  "example": [
                    "pending",
                    "in_progress"
                  ],
                  "description": "The status of the release to filter by"
                }
              }
            },
            "civic_address_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19990261512338516954",
                  "description": "The civic address ID to filter by"
                }
              }
            },
            "location_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19995665508264022121",
                  "description": "The location ID to filter by"
                }
              }
            },
            "phone_number": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "+1234567890",
                  "description": "The phone number to filter by",
                  "x-format": "E164"
                },
                "contains": {
                  "type": "string",
                  "example": "+123",
                  "description": "The partial phone number to filter by. Requires 3-15 digits."
                }
              },
              "description": "Phone number filter operations. Use 'eq' for exact matches or 'contains' for partial matches."
            }
          }
        }
      },
      "FilterRequirementTypesConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter for requirement types (deepObject style). Originally: filter[name]",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "name": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "contains": {
                  "type": "string",
                  "example": "utility bill",
                  "description": "Filters requirement types to those whose name contains a certain string."
                }
              }
            }
          }
        }
      },
      "FilterRequirementsConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter for requirements (deepObject style). Originally: filter[country_code], filter[phone_number_type], filter[action]",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "country_code": {
              "type": "string",
              "example": "US",
              "description": "Filters results to those applying to a 2-character (ISO 3166-1 alpha-2) country code"
            },
            "phone_number_type": {
              "type": "string",
              "enum": [
                "local",
                "national",
                "toll_free"
              ],
              "example": "local",
              "description": "Filters results to those applying to a specific phone_number_type"
            },
            "action": {
              "type": "string",
              "enum": [
                "branded_calling",
                "ordering",
                "porting"
              ],
              "example": "porting",
              "description": "Filters requirements to those applying to a specific action."
            }
          }
        }
      },
      "FilterSIMCardActionsConsolidated": {
        "name": "filter",
        "in": "query",
        "explode": true,
        "description": "Consolidated filter parameter for SIM card actions (deepObject style). Originally: filter[sim_card_id], filter[status], filter[bulk_sim_card_action_id], filter[action_type]",
        "schema": {
          "type": "object",
          "properties": {
            "sim_card_id": {
              "type": "string",
              "format": "uuid",
              "example": "47a1c2b0-cc7b-4ab1-bb98-b33fb0fc61b9",
              "description": "A valid SIM card ID."
            },
            "status": {
              "type": "string",
              "enum": [
                "in-progress",
                "completed",
                "failed"
              ],
              "example": "in-progress",
              "description": "Filter by a specific status of the resource's lifecycle."
            },
            "bulk_sim_card_action_id": {
              "type": "string",
              "format": "uuid",
              "example": "47a1c2b0-cc7b-4ab1-bb98-b33fb0fc61b9",
              "description": "Filter by a bulk SIM card action ID."
            },
            "action_type": {
              "type": "string",
              "enum": [
                "enable",
                "enable_standby_sim_card",
                "disable",
                "set_standby",
                "remove_public_ip",
                "set_public_ip"
              ],
              "example": "disable",
              "description": "Filter by action type."
            }
          }
        }
      },
      "FilterSIMCardConsolidated": {
        "name": "filter",
        "in": "query",
        "explode": true,
        "description": "Consolidated filter parameter for SIM cards (deepObject style). Originally: filter[iccid], filter[msisdn], filter[status], filter[tags]",
        "schema": {
          "type": "object",
          "properties": {
            "iccid": {
              "type": "string",
              "example": "89310410106543789301",
              "description": "A search string to partially match for the SIM card's ICCID."
            },
            "msisdn": {
              "type": "string",
              "example": "+13109976224",
              "description": "A search string to match for the SIM card's MSISDN."
            },
            "status": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "enabled",
                  "disabled",
                  "standby",
                  "data_limit_exceeded",
                  "unauthorized_imei"
                ]
              },
              "description": "Filter by a SIM card's status."
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "personal",
                "customers",
                "active-customers"
              ],
              "description": "A list of SIM card tags to filter on.<br/><br/>\n If the SIM card contains <b><i>all</i></b> of the given <code>tags</code> they will be found.<br/><br/>\nFor example, if the SIM cards have the following tags: <ul>\n  <li><code>['customers', 'staff', 'test']</code>\n  <li><code>['test']</code></li>\n  <li><code>['customers']</code></li>\n</ul>\nSearching for <code>['customers', 'test']</code> returns only the first because it's the only one with both tags.<br/> Searching for <code>test</code> returns the first two SIMs, because both of them have such tag.<br/> Searching for <code>customers</code> returns the first and last SIMs.<br/>\n"
            }
          }
        }
      },
      "FilterSIMCardGroupId": {
        "name": "filter[sim_card_group_id]",
        "description": "A valid SIM card group ID.",
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "47a1c2b0-cc7b-4ab1-bb98-b33fb0fc61b9"
        },
        "in": "query"
      },
      "FilterSIMCardId": {
        "name": "filter[sim_card_id]",
        "description": "A valid SIM card ID.",
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "47a1c2b0-cc7b-4ab1-bb98-b33fb0fc61b9"
        },
        "in": "query"
      },
      "FilterSIMCardOrdersConsolidated": {
        "name": "filter",
        "in": "query",
        "explode": true,
        "description": "Consolidated filter parameter for SIM card orders (deepObject style). Originally: filter[created_at], filter[updated_at], filter[quantity], filter[cost.amount], filter[cost.currency], filter[address.id], filter[address.street_address], filter[address.extended_address], filter[address.locality], filter[address.administrative_area], filter[address.country_code], filter[address.postal_code]",
        "schema": {
          "type": "object",
          "properties": {
            "created_at": {
              "type": "string",
              "format": "date-time",
              "example": "2018-02-02T22:25:27.521Z",
              "description": "Filter by ISO 8601 formatted date-time string matching resource creation date-time."
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "example": "2018-02-02T22:25:27.521Z",
              "description": "Filter by ISO 8601 formatted date-time string matching resource last update date-time."
            },
            "quantity": {
              "type": "integer",
              "example": 21,
              "description": "Filter orders by how many SIM cards were ordered."
            },
            "cost.amount": {
              "description": "The total monetary amount of the order.",
              "type": "string",
              "example": "2.53"
            },
            "cost.currency": {
              "description": "Filter by ISO 4217 currency string.",
              "type": "string",
              "example": "USD"
            },
            "address.id": {
              "type": "string",
              "example": "1293384261075731499",
              "description": "Uniquely identifies the address for the order."
            },
            "address.street_address": {
              "type": "string",
              "example": "600 Congress Avenue",
              "description": "Returns entries with matching name of the street where the address is located."
            },
            "address.extended_address": {
              "type": "string",
              "example": "14th Floor",
              "description": "Returns entries with matching name of the supplemental field for address information."
            },
            "address.locality": {
              "type": "string",
              "example": "Austin",
              "description": "Filter by the name of the city where the address is located."
            },
            "address.administrative_area": {
              "type": "string",
              "example": "TX",
              "description": "Filter by state or province where the address is located."
            },
            "address.country_code": {
              "type": "string",
              "example": "US",
              "description": "Filter by the mobile operator two-character (ISO 3166-1 alpha-2) origin country code."
            },
            "address.postal_code": {
              "type": "string",
              "example": "78701",
              "description": "Filter by postal code for the address."
            }
          }
        }
      },
      "FilterUploadsConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Filter parameter for uploads (deepObject style). Supports filtering by status, civic_address_id, location_id, and phone_number with eq/contains operations.",
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pending_upload",
                      "pending",
                      "in_progress",
                      "success",
                      "error"
                    ]
                  },
                  "example": [
                    "pending_upload",
                    "pending"
                  ],
                  "description": "The status of the upload to filter by"
                }
              }
            },
            "civic_address_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19990261512338516954",
                  "description": "The civic address ID to filter by"
                }
              }
            },
            "location_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "19995665508264022121",
                  "description": "The location ID to filter by"
                }
              }
            },
            "phone_number": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "+19705555098",
                  "description": "The phone number to filter by (exact match)"
                },
                "contains": {
                  "type": "string",
                  "example": "+1970",
                  "description": "The phone number to filter by (partial match)"
                }
              }
            }
          }
        }
      },
      "FqdnId": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1517907029795014409",
          "x-format": "int64"
        }
      },
      "FriendlyName": {
        "name": "FriendlyName",
        "in": "query",
        "required": false,
        "description": "Filters conferences by their friendly name.",
        "schema": {
          "type": "string"
        },
        "example": "weekly_review_call"
      },
      "From": {
        "name": "From",
        "in": "query",
        "required": false,
        "description": "Filters calls by the from number.",
        "schema": {
          "type": "string"
        },
        "example": "+1312345678"
      },
      "GcbChannelNumberZoneId": {
        "name": "channel_zone_id",
        "in": "path",
        "description": "Channel zone identifier",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "GcbChannelZoneId": {
        "name": "channel_zone_id",
        "in": "path",
        "description": "Channel zone identifier",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "Id": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "IncludeCancelledAccounts": {
        "name": "include_cancelled_accounts",
        "in": "query",
        "required": false,
        "description": "Specifies if cancelled accounts should be included in the results.",
        "schema": {
          "type": "boolean",
          "example": true,
          "default": false
        }
      },
      "IncludeGroups": {
        "name": "include_groups",
        "in": "query",
        "description": "When set to true, includes the groups array for each user in the response. The groups array contains objects with id and name for each group the user belongs to.",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "IncludeICCIDs": {
        "name": "include_iccids",
        "in": "query",
        "description": "It includes a list of associated ICCIDs.",
        "schema": {
          "type": "boolean",
          "default": false,
          "example": true
        }
      },
      "IncludeSIMCardGroup": {
        "name": "include_sim_card_group",
        "in": "query",
        "description": "It includes the associated SIM card group object in the response when present.",
        "schema": {
          "type": "boolean",
          "default": false,
          "example": true
        }
      },
      "IntId": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1293384261075731499"
        }
      },
      "IpId": {
        "name": "id",
        "description": "Identifies the type of resource.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "MediaName": {
        "name": "media_name",
        "description": "Uniquely identifies a media resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "MessagingProfileId": {
        "name": "id",
        "in": "path",
        "description": "The id of the messaging profile to retrieve",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "NumberLookupType": {
        "name": "type",
        "in": "query",
        "required": false,
        "description": "Specifies the type of number lookup to be performed",
        "schema": {
          "type": "string",
          "enum": [
            "carrier",
            "caller-name"
          ]
        }
      },
      "Page": {
        "name": "Page",
        "in": "query",
        "required": false,
        "description": "The number of the page to be displayed, zero-indexed, should be used in conjuction with PageToken.",
        "schema": {
          "type": "integer"
        },
        "example": 1
      },
      "PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
        "schema": {
          "type": "object",
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            },
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            }
          }
        }
      },
      "PageNumber": {
        "name": "page[number]",
        "in": "query",
        "description": "The page number to load",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "PageSize": {
        "name": "PageSize",
        "in": "query",
        "required": false,
        "description": "The number of records to be displayed on a page",
        "schema": {
          "type": "integer"
        },
        "example": 10
      },
      "PageSizeTexml": {
        "name": "PageSize",
        "in": "query",
        "required": false,
        "description": "The number of records to be displayed on a page",
        "schema": {
          "type": "integer"
        },
        "example": 10
      },
      "PageToken": {
        "name": "PageToken",
        "in": "query",
        "required": false,
        "description": "Used to request the next page of results.",
        "schema": {
          "type": "string"
        }
      },
      "PathCustomerServiceRecordId": {
        "name": "customer_service_record_id",
        "in": "path",
        "description": "The ID of the customer service record",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "PathPortingOrderID": {
        "name": "id",
        "description": "Porting Order id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "PathPortingOrdersActivationJobID": {
        "name": "activationJobId",
        "description": "Activation Job Identifier",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "PhoneNumber": {
        "name": "phone_number",
        "in": "path",
        "required": true,
        "description": "Phone number in E.164 format",
        "schema": {
          "type": "string",
          "example": "+16035551234"
        }
      },
      "PrivateWirelessGatewayId": {
        "name": "id",
        "description": "Identifies the private wireless gateway.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "QueryIncludePhoneNumbers": {
        "name": "include_phone_numbers",
        "in": "query",
        "required": false,
        "description": "Include the first 50 phone number objects in the results",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "QueueSid": {
        "name": "queue_sid",
        "in": "path",
        "required": true,
        "description": "The QueueSid that identifies the call queue.",
        "schema": {
          "type": "string"
        }
      },
      "RecordingId": {
        "name": "recording_id",
        "description": "Uniquely identifies the recording by id.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "RecordingSid": {
        "description": "Uniquely identifies the recording by id.",
        "name": "recording_sid",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "RecordingTranscriptionId": {
        "name": "recording_transcription_id",
        "in": "path",
        "required": true,
        "description": "Uniquely identifies the recording transcription by id.",
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "RecordingTranscriptionSid": {
        "description": "Uniquely identifies the recording transcription by id.",
        "name": "recording_transcription_sid",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "ResourceId": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "SIMCardGroupId": {
        "name": "id",
        "description": "Identifies the SIM group.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "SIMCardId": {
        "name": "id",
        "description": "Identifies the SIM.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "ShortCodeId": {
        "name": "id",
        "in": "path",
        "description": "The id of the short code",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "SiprecConnectorName": {
        "name": "connector_name",
        "in": "path",
        "required": true,
        "description": "Uniquely identifies a SIPREC connector.",
        "schema": {
          "type": "string"
        }
      },
      "SiprecSid": {
        "name": "siprec_sid",
        "in": "path",
        "required": true,
        "description": "The SiprecSid that uniquely identifies the Sip Recording.",
        "schema": {
          "type": "string"
        }
      },
      "Sort": {
        "name": "sort",
        "in": "query",
        "description": "Set the order of the results by the creation date.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "example": "desc"
        }
      },
      "SortAddress": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>street_address</code>: sorts the result by the\n    <code>street_address</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-street_address</code>: sorts the result by the\n    <code>street_address</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "first_name",
            "last_name",
            "business_name",
            "street_address"
          ],
          "example": "street_address",
          "default": "created_at"
        }
      },
      "SortApplication": {
        "name": "sort",
        "in": "query",
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>friendly_name</code>: sorts the result by the\n    <code>friendly_name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-friendly_name</code>: sorts the result by the\n    <code>friendly_name</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "friendly_name",
            "active"
          ],
          "example": "friendly_name",
          "default": "created_at"
        }
      },
      "SortConnection": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "connection_name",
            "active"
          ],
          "example": "connection_name",
          "default": "created_at"
        }
      },
      "SortDocumentsConsolidated": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Consolidated sort parameter for documents (deepObject style). Originally: sort[]",
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "filename",
              "created_at",
              "updated_at",
              "-filename",
              "-created_at",
              "-updated_at"
            ]
          },
          "example": [
            "filename"
          ],
          "description": "Specifies the sort order for results. If you want to sort by a field in ascending order, include it as a sort parameter. If you want to sort in descending order, prepend a `-` in front of the field name."
        }
      },
      "SortOutboundVoiceProfile": {
        "name": "sort",
        "in": "query",
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code>-</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>name</code>: sorts the result by the\n    <code>name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-name</code>: sorts the result by the\n    <code>name</code> field in descending order.\n  </li>\n</ul> <br/>",
        "schema": {
          "type": "string",
          "enum": [
            "enabled",
            "-enabled",
            "created_at",
            "-created_at",
            "name",
            "-name",
            "service_plan",
            "-service_plan",
            "traffic_type",
            "-traffic_type",
            "usage_payment_method",
            "-usage_payment_method"
          ],
          "default": "-created_at",
          "example": "name"
        }
      },
      "SortRequirementTypesConsolidated": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Consolidated sort parameter for requirement types (deepObject style). Originally: sort[]",
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "name",
              "created_at",
              "updated_at",
              "-name",
              "-created_at",
              "-updated_at"
            ]
          },
          "example": [
            "name"
          ],
          "description": "Specifies the sort order for results. If you want to sort by a field in ascending order, include it as a sort parameter. If you want to sort in descending order, prepend a `-` in front of the field name."
        }
      },
      "SortRequirementsConsolidated": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Consolidated sort parameter for requirements (deepObject style). Originally: sort[]",
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at",
              "country_code",
              "phone_number_type",
              "-created_at",
              "-updated_at",
              "-country_code",
              "-phone_number_type"
            ]
          },
          "example": [
            "country_code"
          ],
          "description": "Specifies the sort order for results. If you want to sort by a field in ascending order, include it as a sort parameter. If you want to sort in descending order, prepend a `-` in front of the field name."
        }
      },
      "SortUserAddress": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>street_address</code>: sorts the result by the\n    <code>street_address</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-street_address</code>: sorts the result by the\n    <code>street_address</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "first_name",
            "last_name",
            "business_name",
            "street_address"
          ],
          "example": "street_address",
          "default": "created_at"
        }
      },
      "StartTime": {
        "name": "StartTime",
        "in": "query",
        "required": false,
        "description": "Filters calls by their start date. Expected format is YYYY-MM-DD.",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "StartTime_gt": {
        "name": "StartTime_gt",
        "in": "query",
        "required": false,
        "description": "Filters calls by their start date (after). Expected format is YYYY-MM-DD",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "StartTime_lt": {
        "name": "StartTime_lt",
        "in": "query",
        "required": false,
        "description": "Filters calls by their start date (before). Expected format is YYYY-MM-DD",
        "schema": {
          "type": "string"
        },
        "example": "2023-05-22"
      },
      "Status": {
        "name": "Status",
        "in": "query",
        "required": false,
        "description": "Filters calls by status.",
        "schema": {
          "type": "string",
          "enum": [
            "canceled",
            "completed",
            "failed",
            "busy",
            "no-answer"
          ]
        },
        "example": "no-answer"
      },
      "StreamingSid": {
        "description": "Uniquely identifies the streaming by id.",
        "name": "streaming_sid",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "TexmlDateCreated": {
        "name": "DateCreated",
        "in": "query",
        "required": false,
        "description": "Filters recording by the creation date. Expected format is ISO8601 date or date-time, ie. {YYYY}-{MM}-{DD} or {YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}Z. Also accepts inequality operators, e.g. DateCreated>=2023-05-22.",
        "schema": {
          "type": "string",
          "format": "date-time",
          "example": "2023-05-22T00:00:00Z"
        }
      },
      "To": {
        "name": "To",
        "in": "query",
        "required": false,
        "description": "Filters calls by the to number.",
        "schema": {
          "type": "string"
        },
        "example": "+1312345678"
      },
      "TrafficPolicyProfileId": {
        "name": "id",
        "description": "Identifies the traffic policy profile.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "UserBundleId": {
        "required": true,
        "schema": {
          "title": "User Bundle Id",
          "type": "string",
          "format": "uuid",
          "example": "ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
          "description": "User bundle's ID, this is used to identify the user bundle in the API."
        },
        "name": "user_bundle_id",
        "in": "path"
      },
      "WabaId": {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Whatsapp Business Account ID"
      },
      "WhatsappPhoneNumber": {
        "name": "phone_number",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Phone number (E.164 format)"
      },
      "WhatsappTemplateId": {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "Whatsapp message template ID"
      },
      "WirelessBlocklistId": {
        "name": "id",
        "description": "Identifies the wireless blocklist.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
        }
      },
      "address_id": {
        "name": "address_id",
        "description": "Identifies a civic address or a location.",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "318fb664-d341-44d2-8405-e6bfb9ced6d9"
        }
      },
      "audio_format": {
        "name": "audio_format",
        "in": "query",
        "required": false,
        "description": "Audio output format override. Supported for Telnyx models. `pcm` and `wav` are available for `Natural`/`NaturalHD` models. The `Ultra` model outputs PCM at 24kHz s16le or MP3 at 128kbps 24kHz.",
        "schema": {
          "type": "string",
          "enum": [
            "pcm",
            "wav",
            "mp3"
          ]
        }
      },
      "audit-logs_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[created_before], filter[created_after]",
        "schema": {
          "type": "object",
          "properties": {
            "created_before": {
              "type": "string",
              "format": "date-time",
              "example": "2021-01-01T00:00:00Z",
              "description": "Filter for audit events created before a specific date."
            },
            "created_after": {
              "type": "string",
              "format": "date-time",
              "example": "2021-01-01T00:00:00Z",
              "description": "Filter for audit events created after a specific date."
            }
          }
        }
      },
      "audit-logs_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
        "schema": {
          "type": "object",
          "properties": {
            "number": {
              "type": "integer",
              "example": 1,
              "description": "Page number to load."
            },
            "size": {
              "type": "integer",
              "example": 10,
              "description": "Number of items per page."
            }
          }
        }
      },
      "bundle-pricing_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Supports filtering by country_iso and resource. Examples: filter[country_iso]=US or filter[resource]=+15617819942",
        "schema": {
          "type": "object",
          "properties": {
            "country_iso": {
              "title": "Filter[Country Iso]",
              "type": "array",
              "items": {
                "type": "string",
                "example": "US"
              },
              "description": "Filter by country code."
            },
            "resource": {
              "title": "Filter[Resource]",
              "type": "array",
              "items": {
                "type": "string",
                "description": "Filter by resource.",
                "example": "+15617819942"
              },
              "description": "Filter by resource."
            }
          }
        }
      },
      "bundle-pricing_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            }
          }
        }
      },
      "call-control_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[application_name][contains], filter[outbound.outbound_voice_profile_id], filter[leg_id], filter[application_session_id], filter[connection_id], filter[product], filter[failed], filter[from], filter[to], filter[name], filter[type], filter[occurred_at][eq/gt/gte/lt/lte], filter[status]",
        "schema": {
          "type": "object",
          "properties": {
            "application_name": {
              "type": "object",
              "description": "Application name filters",
              "properties": {
                "contains": {
                  "type": "string",
                  "default": "null",
                  "description": "If present, applications with <code>application_name</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              },
              "additionalProperties": false
            },
            "outbound.outbound_voice_profile_id": {
              "type": "string",
              "example": "1293384261075731499",
              "description": "Identifies the associated outbound voice profile.",
              "x-format": "int64"
            },
            "leg_id": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of an individual call leg."
            },
            "application_session_id": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the call session. A session may include multiple call leg events."
            },
            "connection_id": {
              "type": "string",
              "description": "The unique identifier of the conection."
            },
            "product": {
              "type": "string",
              "enum": [
                "call_control",
                "fax",
                "texml"
              ],
              "example": "texml",
              "description": "Filter by product."
            },
            "failed": {
              "type": "boolean",
              "example": false,
              "description": "Delivery failed or not."
            },
            "from": {
              "type": "string",
              "example": "+12025550142",
              "description": "Filter by From number."
            },
            "to": {
              "type": "string",
              "example": "+12025550142",
              "description": "Filter by To number."
            },
            "name": {
              "type": "string",
              "description": "If present, conferences will be filtered to those with a matching `name` attribute. Matching is case-sensitive"
            },
            "type": {
              "type": "string",
              "enum": [
                "command",
                "webhook"
              ],
              "example": "webhook",
              "description": "Event type"
            },
            "occurred_at": {
              "type": "object",
              "description": "Event occurred_at filters",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "2019-03-29T11:10:00Z",
                  "description": "Event occurred_at: equal"
                },
                "gt": {
                  "type": "string",
                  "example": "2019-03-29T11:10:00Z",
                  "description": "Event occurred_at: greater than"
                },
                "gte": {
                  "type": "string",
                  "example": "2019-03-29T11:10:00Z",
                  "description": "Event occurred_at: greater than or equal"
                },
                "lt": {
                  "type": "string",
                  "example": "2019-03-29T11:10:00Z",
                  "description": "Event occurred_at: lower than"
                },
                "lte": {
                  "type": "string",
                  "example": "2019-03-29T11:10:00Z",
                  "description": "Event occurred_at: lower than or equal"
                }
              },
              "additionalProperties": false
            },
            "status": {
              "type": "string",
              "enum": [
                "init",
                "in_progress",
                "completed"
              ],
              "description": "If present, conferences will be filtered by status."
            }
          }
        }
      },
      "call-control_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[after], page[before], page[limit], page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "after": {
              "type": "string",
              "default": "null",
              "description": "Opaque identifier of next page"
            },
            "before": {
              "type": "string",
              "default": "null",
              "description": "Opaque identifier of previous page"
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "Limit of records per single page"
            },
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "call-recordings_ConnectionId": {
        "name": "connection_id",
        "description": "Uniquely identifies a Telnyx application (Call Control, TeXML) or Sip connection resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "call-recordings_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            }
          }
        }
      },
      "call-scripting_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[outbound_voice_profile_id], filter[friendly_name]",
        "schema": {
          "type": "object",
          "properties": {
            "outbound_voice_profile_id": {
              "type": "string",
              "example": "1293384261075731499",
              "description": "Identifies the associated outbound voice profile."
            },
            "friendly_name": {
              "type": "string",
              "default": "null",
              "description": "If present, applications with <code>friendly_name</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
            }
          }
        }
      },
      "call-scripting_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 250,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "connections_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[connection_name], filter[fqdn], filter[outbound_voice_profile_id], filter[outbound.outbound_voice_profile_id]",
        "schema": {
          "type": "object",
          "properties": {
            "connection_name": {
              "type": "object",
              "description": "Filter by connection_name using nested operations",
              "properties": {
                "contains": {
                  "type": "string",
                  "default": null,
                  "description": "If present, connections with <code>connection_name</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              }
            },
            "fqdn": {
              "type": "string",
              "default": null,
              "description": "If present, connections with an `fqdn` that equals the given value will be returned. Matching is case-sensitive, and the full string must match."
            },
            "outbound_voice_profile_id": {
              "type": "string",
              "example": "1293384261075731499",
              "description": "Identifies the associated outbound voice profile.",
              "x-format": "int64"
            }
          }
        }
      },
      "connections_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 250,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "connections_SortConnection": {
        "name": "sort",
        "in": "query",
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "connection_name",
            "active"
          ],
          "example": "connection_name",
          "default": "created_at"
        }
      },
      "connections_id": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1293384261075731499",
          "x-format": "int64"
        }
      },
      "customer_service_record_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[phone_number][eq], filter[phone_number][in][], filter[status][eq], filter[status][in][], filter[created_at][lt], filter[created_at][gt]",
        "schema": {
          "type": "object",
          "properties": {
            "phone_number": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "+12441239999",
                  "description": "Filters records to those with a specified number."
                },
                "in": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": "+12441239999"
                  },
                  "description": "Filters records to those with at least one number in the list."
                }
              }
            },
            "status": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "completed",
                    "failed"
                  ],
                  "example": "pending",
                  "description": "Filters records to those with a specific status."
                },
                "in": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pending",
                      "completed",
                      "failed"
                    ],
                    "example": "pending"
                  },
                  "description": "Filters records to those with a least one status in the list."
                }
              }
            },
            "created_at": {
              "type": "object",
              "properties": {
                "lt": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2020-01-01T00:00:00Z",
                  "description": "Filters records to those created before a specific date."
                },
                "gt": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2020-01-01T00:00:00Z",
                  "description": "Filters records to those created after a specific date."
                }
              }
            }
          }
        }
      },
      "customer_service_record_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "disable_cache": {
        "name": "disable_cache",
        "in": "query",
        "required": false,
        "description": "When `true`, bypass the audio cache and generate fresh audio.",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "documents_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "emergency_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "endpointing": {
        "name": "endpointing",
        "in": "query",
        "required": false,
        "description": "Silence duration (in milliseconds) that triggers end-of-speech detection. When set, the engine uses this value to determine when a speaker has stopped talking. Supported by `xAI`, `Deepgram`, `Google`, `Speechmatics`, and `Soniox`. `Soniox` accepts values between 500 and 3000. Other engines may not support this parameter.",
        "schema": {
          "type": "integer"
        },
        "example": 500
      },
      "external-voice-integrations_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 250,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "external-voice-integrations_id": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1293384261075731499",
          "x-format": "int64"
        }
      },
      "id": {
        "name": "id",
        "description": "Identifies the resource.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1293384261075731499"
        }
      },
      "input_format": {
        "name": "input_format",
        "in": "query",
        "required": true,
        "description": "The format of input audio stream.",
        "schema": {
          "type": "string",
          "enum": [
            "mp3",
            "wav"
          ]
        },
        "example": "mp3"
      },
      "interim_results": {
        "name": "interim_results",
        "in": "query",
        "required": false,
        "description": "Whether to receive interim transcription results.",
        "schema": {
          "type": "boolean"
        },
        "example": true
      },
      "keyterm": {
        "name": "keyterm",
        "in": "query",
        "required": false,
        "description": "A key term to boost in the transcription. The engine will be more likely to recognize this term. Can be specified multiple times for multiple terms.",
        "schema": {
          "type": "string"
        },
        "example": "Telnyx"
      },
      "keywords": {
        "name": "keywords",
        "in": "query",
        "required": false,
        "description": "Comma-separated list of keywords to boost in the transcription. The engine will prioritize recognition of these words.",
        "schema": {
          "type": "string"
        },
        "example": "Telnyx,SIP,WebRTC"
      },
      "language": {
        "name": "language",
        "in": "query",
        "required": false,
        "description": "The language spoken in the audio stream.",
        "schema": {
          "type": "string"
        },
        "example": "en-US"
      },
      "managed-accounts_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[email][contains], filter[email][eq], filter[organization_name][contains], filter[organization_name][eq]",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "email": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "contains": {
                  "type": "string",
                  "description": "If present, email containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                },
                "eq": {
                  "type": "string",
                  "description": "If present, only returns results with the <code>email</code> matching exactly the value given."
                }
              }
            },
            "organization_name": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "contains": {
                  "type": "string",
                  "description": "If present, only returns results with the <code>organization_name</code> containing the given value. Matching is not case-sensitive. Requires at least three characters."
                },
                "eq": {
                  "type": "string",
                  "description": "If present, only returns results with the <code>organization_name</code> matching exactly the value given."
                }
              }
            }
          },
          "example": {
            "email": {
              "contains": "john"
            },
            "organization_name": {
              "eq": "Example Company LLC"
            }
          }
        }
      },
      "managed-accounts_Sort": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>email</code>: sorts the result by the\n    <code>email</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-email</code>: sorts the result by the\n    <code>email</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "email"
          ],
          "example": "email",
          "default": "created_at"
        }
      },
      "media-streaming_ConnectionId": {
        "name": "connection_id",
        "description": "Uniquely identifies a Telnyx application (Call Control).",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "model": {
        "name": "model",
        "in": "query",
        "description": "The specific model to use within the selected transcription engine.",
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/azure_models"
            },
            {
              "$ref": "#/components/schemas/deepgram_models"
            },
            {
              "$ref": "#/components/schemas/google_models"
            },
            {
              "$ref": "#/components/schemas/telnyx_models"
            },
            {
              "$ref": "#/components/schemas/xai_models"
            },
            {
              "$ref": "#/components/schemas/speechmatics_models"
            },
            {
              "$ref": "#/components/schemas/soniox_models"
            }
          ]
        }
      },
      "model_id": {
        "name": "model_id",
        "in": "query",
        "required": false,
        "description": "Model identifier for the chosen provider. Examples: `Natural`, `NaturalHD`, `Ultra` (Telnyx); `Polly.Generative` (AWS).",
        "schema": {
          "type": "string"
        }
      },
      "notifications_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "required": false,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[associated_record_type][eq], filter[channel_type_id][eq], filter[notification_profile_id][eq], filter[notification_channel][eq], filter[notification_event_condition_id][eq], filter[status][eq]",
        "schema": {
          "type": "object",
          "properties": {
            "associated_record_type": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "enum": [
                    "account",
                    "phone_number"
                  ],
                  "example": "phone_number",
                  "description": "Filter by the associated record type"
                }
              }
            },
            "channel_type_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "enum": [
                    "webhook",
                    "sms",
                    "email",
                    "voice"
                  ],
                  "example": "webhook",
                  "description": "Filter by the id of a channel type"
                }
              }
            },
            "notification_profile_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a",
                  "description": "Filter by the id of a notification profile"
                }
              }
            },
            "notification_channel": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a",
                  "description": "Filter by the id of a notification channel"
                }
              }
            },
            "notification_event_condition_id": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a",
                  "description": "Filter by the id of a notification channel"
                }
              }
            },
            "status": {
              "type": "object",
              "properties": {
                "eq": {
                  "type": "string",
                  "enum": [
                    "enabled",
                    "enable-received",
                    "enable-pending",
                    "enable-submtited",
                    "delete-received",
                    "delete-pending",
                    "delete-submitted",
                    "deleted"
                  ],
                  "example": "enable-received",
                  "description": "The status of a notification setting"
                }
              }
            }
          }
        }
      },
      "notifications_Id": {
        "name": "id",
        "in": "path",
        "description": "The id of the resource.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "number-lookup_PhoneNumber": {
        "name": "phone_number",
        "description": "The phone number to be looked up",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "+18665552368"
        }
      },
      "numbers_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "outbound-voice-profiles_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[name][contains]",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "string",
                  "example": "office-profile",
                  "description": "Optional filter on outbound voice profile name."
                }
              },
              "description": "Name filtering operations"
            }
          }
        }
      },
      "outbound-voice-profiles_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            }
          }
        }
      },
      "phone_number_id": {
        "name": "phone_number_id",
        "description": "A phone number's ID via the Telnyx API",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1234567889"
        }
      },
      "porting-order_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[porting_order_id], filter[support_key], filter[status], filter[phone_number], filter[activation_status], filter[portability_status]",
        "schema": {
          "type": "object",
          "properties": {
            "porting_order_id": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "example": "f3575e15-32ce-400e-a4c0-dd78800c20b0"
              },
              "description": "Filter results by a list of porting order ids"
            },
            "support_key": {
              "oneOf": [
                {
                  "type": "string",
                  "example": "sr_a12345",
                  "description": "Filter by exact support key match (eq operation)"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "example": "sr_a12345"
                  },
                  "description": "Filter by multiple support keys (in operation)"
                }
              ],
              "description": "Filter results by support key(s). Originally: filter[support_key][eq], filter[support_key][in][]"
            },
            "status": {
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "draft",
                    "in-process",
                    "submitted",
                    "exception",
                    "foc-date-confirmed",
                    "cancel-pending",
                    "ported",
                    "cancelled"
                  ],
                  "example": "in-process",
                  "description": "Filter by single status"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "in-process",
                      "submitted",
                      "exception",
                      "foc-date-confirmed",
                      "cancel-pending",
                      "ported",
                      "cancelled"
                    ]
                  },
                  "example": [
                    "in-process",
                    "submitted"
                  ],
                  "description": "Filter by multiple statuses (in operation)"
                }
              ],
              "description": "Filter porting orders by status(es). Originally: filter[status], filter[status][in][]"
            },
            "phone_number": {
              "type": "array",
              "items": {
                "type": "string",
                "example": "+12003151212"
              },
              "description": "Filter results by a list of phone numbers"
            },
            "activation_status": {
              "$ref": "#/components/schemas/PortingOrderActivationStatus",
              "description": "Filter results by activation status"
            },
            "portability_status": {
              "$ref": "#/components/schemas/PortabilityStatus",
              "description": "Filter results by portability status"
            }
          }
        }
      },
      "porting-order_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "programmable-fax_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[application_name][contains], filter[outbound_voice_profile_id]",
        "schema": {
          "type": "object",
          "properties": {
            "application_name": {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "string",
                  "example": "fax-app",
                  "description": "If present, applications with <code>application_name</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              },
              "description": "Application name filtering operations"
            },
            "outbound_voice_profile_id": {
              "type": "string",
              "example": "1293384261075731499",
              "description": "Identifies the associated outbound voice profile."
            }
          }
        }
      },
      "programmable-fax_SortApplication": {
        "name": "sort",
        "in": "query",
        "description": "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>application_name</code>: sorts the result by the\n    <code>application_name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-application_name</code>: sorts the result by the\n    <code>application_name</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.",
        "schema": {
          "type": "string",
          "enum": [
            "created_at",
            "application_name",
            "active"
          ],
          "example": "application_name",
          "default": "created_at"
        }
      },
      "pronunciation_dict_id": {
        "name": "id",
        "in": "path",
        "required": true,
        "description": "The UUID of the pronunciation dictionary.",
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "c215a3e1-be41-4701-97e8-1d3c22f9a5b7"
        }
      },
      "provider": {
        "name": "provider",
        "in": "query",
        "required": false,
        "description": "TTS provider. Defaults to `telnyx` if not specified. Ignored when `voice` is provided.",
        "schema": {
          "type": "string",
          "enum": [
            "aws",
            "telnyx",
            "azure",
            "elevenlabs",
            "minimax",
            "murfai",
            "rime",
            "resemble",
            "xai"
          ],
          "default": "telnyx"
        }
      },
      "push-notifications_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            }
          }
        }
      },
      "redact": {
        "name": "redact",
        "in": "query",
        "required": false,
        "description": "Enable redaction of sensitive information (e.g., PCI data, SSN) from transcription results. Supported values depend on the transcription engine.",
        "schema": {
          "type": "string"
        },
        "example": "pci"
      },
      "release_id": {
        "name": "release_id",
        "description": "Identifies a Release request",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "7b6a6449-b055-45a6-81f6-f6f0dffa4cc6"
        }
      },
      "socket_id": {
        "name": "socket_id",
        "in": "query",
        "required": false,
        "description": "Client-provided socket identifier for tracking. If not provided, one is generated server-side.",
        "schema": {
          "type": "string"
        }
      },
      "telephony-credentials_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[tag], filter[name], filter[status], filter[resource_id], filter[sip_username]",
        "schema": {
          "type": "object",
          "properties": {
            "tag": {
              "type": "string",
              "description": "Filter by tag"
            },
            "name": {
              "type": "string",
              "description": "Filter by name"
            },
            "status": {
              "type": "string",
              "description": "Filter by status"
            },
            "resource_id": {
              "type": "string",
              "description": "Filter by resource_id"
            },
            "sip_username": {
              "type": "string",
              "description": "Filter by sip_username"
            }
          }
        }
      },
      "telephony-credentials_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[number], page[size]",
        "schema": {
          "type": "object",
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            },
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 50,
              "description": "The size of the page"
            }
          }
        }
      },
      "ticket_id": {
        "name": "ticket_id",
        "description": "Identifies an Upload request",
        "in": "path",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string",
          "example": "7b6a6449-b055-45a6-81f6-f6f0dffa4cc6"
        }
      },
      "transcription_engine": {
        "name": "transcription_engine",
        "in": "query",
        "required": true,
        "description": "The transcription engine to use for processing the audio stream.",
        "schema": {
          "type": "string",
          "enum": [
            "Azure",
            "Deepgram",
            "Google",
            "Telnyx",
            "xAI",
            "Speechmatics",
            "Soniox"
          ]
        },
        "example": "Telnyx"
      },
      "user-addresses_FilterConsolidated": {
        "name": "filter",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated filter parameter (deepObject style). Originally: filter[customer_reference][eq], filter[customer_reference][contains], filter[street_address][contains]",
        "schema": {
          "type": "object",
          "properties": {
            "customer_reference": {
              "type": "object",
              "description": "Filter user addresses via the customer reference. Supports both exact matching (eq) and partial matching (contains). Matching is not case-sensitive.",
              "properties": {
                "eq": {
                  "type": "string",
                  "description": "Filter user addresses via exact customer reference match. Matching is not case-sensitive."
                },
                "contains": {
                  "type": "string",
                  "description": "If present, user addresses with <code>customer_reference</code> containing the given value will be returned. Matching is not case-sensitive."
                }
              }
            },
            "street_address": {
              "type": "object",
              "description": "Filter user addresses via street address. Supports partial matching (contains). Matching is not case-sensitive.",
              "properties": {
                "contains": {
                  "type": "string",
                  "description": "If present, user addresses with <code>street_address</code> containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters."
                }
              }
            }
          }
        },
        "examples": {
          "customer_reference_eq": {
            "summary": "Filter by exact customer reference",
            "description": "Find user addresses with exact customer reference match",
            "value": {
              "customer_reference": {
                "eq": "MY REF 001"
              }
            }
          },
          "customer_reference_contains": {
            "summary": "Filter by partial customer reference",
            "description": "Find user addresses containing part of customer reference",
            "value": {
              "customer_reference": {
                "contains": "REF"
              }
            }
          },
          "street_address_contains": {
            "summary": "Filter by street address",
            "description": "Find user addresses containing part of street address",
            "value": {
              "street_address": {
                "contains": "Congress"
              }
            }
          },
          "combined_filters": {
            "summary": "Combined filters",
            "description": "Use multiple filters together",
            "value": {
              "customer_reference": {
                "contains": "REF"
              },
              "street_address": {
                "contains": "Avenue"
              }
            }
          }
        }
      },
      "user-addresses_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "users_PageSize": {
        "name": "page[size]",
        "in": "query",
        "description": "The size of the page",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 250,
          "default": 250
        }
      },
      "video_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            }
          }
        }
      },
      "voice": {
        "name": "voice",
        "in": "query",
        "required": false,
        "description": "Voice identifier in the format `provider.model_id.voice_id` or `provider.voice_id` (e.g. `telnyx.NaturalHD.Telnyx_Alloy`, `Telnyx.Ultra.<voice_id>`, or `azure.en-US-AvaMultilingualNeural`). When provided, the `provider`, `model_id`, and `voice_id` are extracted automatically. Takes precedence over individual `provider`/`model_id`/`voice_id` parameters.",
        "schema": {
          "type": "string"
        }
      },
      "voice-channels_PageConsolidated": {
        "name": "page",
        "in": "query",
        "style": "deepObject",
        "explode": true,
        "description": "Consolidated page parameter (deepObject style). Originally: page[size], page[number]",
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page"
            },
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load"
            }
          }
        }
      },
      "voice-designs_PageNumber": {
        "name": "page[number]",
        "in": "query",
        "required": false,
        "description": "Page number for pagination (1-based).",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "voice-designs_PageSize": {
        "name": "page[size]",
        "in": "query",
        "required": false,
        "description": "Number of results per page.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 250,
          "default": 20
        }
      },
      "voice-designs_Sort": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Sort order. Prefix with `-` for descending. Defaults to `-created_at`.",
        "schema": {
          "type": "string",
          "enum": [
            "name",
            "-name",
            "created_at",
            "-created_at"
          ],
          "default": "-created_at"
        }
      },
      "voice_id": {
        "name": "voice_id",
        "in": "query",
        "required": false,
        "description": "Voice identifier for the chosen provider.",
        "schema": {
          "type": "string"
        }
      },
      "wireless_PageConsolidated": {
        "name": "page",
        "in": "query",
        "explode": true,
        "description": "Consolidated pagination parameter (deepObject style). Originally: page[number], page[size]",
        "schema": {
          "type": "object",
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "The page number to load."
            },
            "size": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250,
              "default": 20,
              "description": "The size of the page."
            }
          }
        }
      },
      "wireless_PageNumber": {
        "name": "page[number]",
        "in": "query",
        "description": "The page number to load.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "wireless_PageSize": {
        "name": "page[size]",
        "in": "query",
        "description": "The size of the page.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 250,
          "default": 20
        }
      }
    },
    "requestBodies": {
      "CreateCredentialsRequest": {
        "description": "Creates new credentials resource for the specified connection_id.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CustomStorageConfiguration"
            }
          }
        }
      },
      "CreateCustomerServiceRecord": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "phone_number"
              ],
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "A valid US phone number in E164 format.",
                  "example": "+13035553000",
                  "pattern": "^\\+1\\d{10}$"
                },
                "webhook_url": {
                  "type": "string",
                  "description": "Callback URL to receive webhook notifications.",
                  "example": "https://example.com/webhook"
                },
                "additional_data": {
                  "$ref": "#/components/schemas/CustomerServiceRecordAdditionalData"
                }
              }
            }
          }
        }
      },
      "CreatePortingAdditionalDocuments": {
        "description": "A list of additional document parameters",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "additional_documents": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "properties": {
                      "document_type": {
                        "type": "string",
                        "description": "The type of document being created.",
                        "enum": [
                          "loa",
                          "invoice",
                          "csr",
                          "other"
                        ]
                      },
                      "document_id": {
                        "type": "string",
                        "description": "The document identification",
                        "format": "uuid"
                      }
                    }
                  }
                }
              },
              "example": {
                "additional_documents": [
                  {
                    "document_id": "22771a52-c43a-4539-80db-9dd9ec36e237",
                    "document_type": "loa"
                  },
                  {
                    "document_id": "d91474e6-4ebc-4ec1-b379-c596eeb405d6",
                    "document_type": "invoice"
                  }
                ]
              }
            }
          }
        }
      },
      "CreatePortingAssociatedPhoneNumber": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "phone_number_range",
                "action"
              ],
              "properties": {
                "phone_number_range": {
                  "type": "object",
                  "properties": {
                    "start_at": {
                      "type": "string",
                      "description": "Specifies the start of the phone number range for this associated phone number.",
                      "pattern": "^\\+\\d{7,15}$",
                      "example": "+441234567890"
                    },
                    "end_at": {
                      "type": "string",
                      "description": "Specifies the end of the phone number range for this associated phone number.",
                      "pattern": "^\\+\\d{7,15}$",
                      "example": "+441234567899"
                    }
                  }
                },
                "action": {
                  "type": "string",
                  "description": "Specifies the action to take with this phone number during partial porting.",
                  "enum": [
                    "keep",
                    "disconnect"
                  ],
                  "example": "keep"
                }
              }
            }
          }
        }
      },
      "CreatePortingLOAConfiguration": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "The parameters for creating a new LOA configuration.",
              "required": [
                "name",
                "logo",
                "company_name",
                "address",
                "contact"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the LOA configuration",
                  "example": "My LOA Configuration"
                },
                "logo": {
                  "type": "object",
                  "description": "The logo of the LOA configuration",
                  "required": [
                    "document_id"
                  ],
                  "properties": {
                    "document_id": {
                      "type": "string",
                      "description": "The document identification",
                      "format": "uuid"
                    }
                  }
                },
                "company_name": {
                  "type": "string",
                  "description": "The name of the company",
                  "example": "Telnyx"
                },
                "address": {
                  "type": "object",
                  "description": "The address of the company.",
                  "required": [
                    "street_address",
                    "city",
                    "state",
                    "zip_code",
                    "country_code"
                  ],
                  "properties": {
                    "street_address": {
                      "type": "string",
                      "description": "The street address of the company",
                      "example": "600 Congress Avenue"
                    },
                    "extended_address": {
                      "type": "string",
                      "description": "The extended address of the company",
                      "example": "14th Floor"
                    },
                    "city": {
                      "type": "string",
                      "description": "The locality of the company",
                      "example": "Austin"
                    },
                    "state": {
                      "type": "string",
                      "description": "The administrative area of the company",
                      "example": "TX",
                      "pattern": "^[A-Z]{2}$"
                    },
                    "zip_code": {
                      "type": "string",
                      "description": "The postal code of the company",
                      "example": "78701",
                      "pattern": "^[0-9]{5}(?:-[0-9]{4})?$"
                    },
                    "country_code": {
                      "type": "string",
                      "description": "The country code of the company",
                      "example": "US",
                      "pattern": "^[A-Z]{2}$"
                    }
                  }
                },
                "contact": {
                  "type": "object",
                  "description": "The contact information of the company.",
                  "required": [
                    "email",
                    "phone_number"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "description": "The email address of the contact",
                      "example": "testing@telnyx.com"
                    },
                    "phone_number": {
                      "type": "string",
                      "description": "The phone number of the contact",
                      "example": "+12003270001",
                      "pattern": "^\\+\\d{11,15}$"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingPhoneNumberBlock": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "phone_number_range",
                "activation_ranges"
              ],
              "properties": {
                "phone_number_range": {
                  "type": "object",
                  "required": [
                    "start_at",
                    "end_at"
                  ],
                  "properties": {
                    "start_at": {
                      "type": "string",
                      "description": "Specifies the start of the phone number range for this porting phone number block.",
                      "pattern": "^\\+\\d{7,15}$",
                      "example": "+4930244999901"
                    },
                    "end_at": {
                      "type": "string",
                      "description": "Specifies the end of the phone number range for this porting phone number block.",
                      "pattern": "^\\+\\d{7,15}$",
                      "example": "+4930244999910"
                    }
                  }
                },
                "activation_ranges": {
                  "description": "Specifies the activation ranges for this porting phone number block. The activation range must be within the block range and should not overlap with other activation ranges.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "start_at",
                      "end_at"
                    ],
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Specifies the start of the activation range. Must be greater or equal the start of the extension range.",
                        "pattern": "^\\+\\d{7,15}$",
                        "example": "+4930244999901"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "Specifies the end of the activation range. It must be no more than the end of the extension range.",
                        "pattern": "^\\+\\d{7,15}$",
                        "example": "+4930244999910"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingPhoneNumberConfigurations": {
        "description": "A list of phone number configuration parameters",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "phone_number_configurations": {
                  "type": "array",
                  "maxItems": 20,
                  "items": {
                    "type": "object",
                    "required": [
                      "porting_phone_number_id",
                      "user_bundle_id"
                    ],
                    "properties": {
                      "porting_phone_number_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Identifies the porting phone number to be configured.",
                        "example": "927f4687-318c-44bc-9f2f-22a5898143a4"
                      },
                      "user_bundle_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Identifies the user bundle to be associated with the porting phone number.",
                        "example": "ff901545-3e27-462a-ba9d-2b34654cab82"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingPhoneNumberExtension": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "porting_phone_number_id",
                "extension_range",
                "activation_ranges"
              ],
              "properties": {
                "porting_phone_number_id": {
                  "type": "string",
                  "description": "Identifies the porting phone number associated with this porting phone number extension.",
                  "format": "uuid",
                  "example": "f24151b6-3389-41d3-8747-7dd8c681e5e2"
                },
                "extension_range": {
                  "type": "object",
                  "required": [
                    "start_at",
                    "end_at"
                  ],
                  "properties": {
                    "start_at": {
                      "type": "integer",
                      "description": "Specifies the start of the extension range for this porting phone number extension.",
                      "example": 1
                    },
                    "end_at": {
                      "type": "integer",
                      "description": "Specifies the end of the extension range for this porting phone number extension.",
                      "example": 10
                    }
                  }
                },
                "activation_ranges": {
                  "description": "Specifies the activation ranges for this porting phone number extension. The activation range must be within the extension range and should not overlap with other activation ranges.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "start_at",
                      "end_at"
                    ],
                    "properties": {
                      "start_at": {
                        "description": "Specifies the start of the activation range. Must be greater or equal the start of the extension range.",
                        "type": "integer",
                        "example": 1
                      },
                      "end_at": {
                        "description": "Specifies the end of the activation range. It must be no more than the end of the extension range.",
                        "type": "integer",
                        "example": 10
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingReport": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "The parameters for generating a new porting related report.",
              "required": [
                "report_type",
                "params"
              ],
              "properties": {
                "report_type": {
                  "type": "string",
                  "description": "Identifies the type of report",
                  "enum": [
                    "export_porting_orders_csv"
                  ],
                  "example": "export_porting_orders_csv"
                },
                "params": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExportPortingOrdersCSVReport"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "CreatePortoutReport": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "The parameters for generating a new port-out related report.",
              "required": [
                "report_type",
                "params"
              ],
              "properties": {
                "report_type": {
                  "type": "string",
                  "description": "Identifies the type of report",
                  "enum": [
                    "export_portouts_csv"
                  ],
                  "example": "export_portouts_csv"
                },
                "params": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExportPortoutsCSVReport"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "DeleteRecordingsRequest": {
        "description": "Deletes recordings for the given list of IDs.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "ids"
              ],
              "properties": {
                "ids": {
                  "type": "array",
                  "description": "List of call recording IDs to delete.",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "example": {
              "ids": [
                "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "428c31b6-7af4-4bcb-b7f5-5013ef9657c2"
              ]
            }
          }
        }
      },
      "DialogflowConnectionRequest": {
        "description": "The params expected to create/update a Dialogflow Connection for given connection_id.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DialogflowConnection"
            }
          }
        }
      },
      "InitiatePortingActionRequirement": {
        "description": "Parameters for initiating the action requirement",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "params"
              ],
              "properties": {
                "params": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AUIdVerificationParams"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "SendPortingVerificationCodes": {
        "description": "A list of phone numbers to send the verification codes to and the method to send them by",
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "phone_numbers": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "string"
                  }
                },
                "verification_method": {
                  "type": "string",
                  "enum": [
                    "sms",
                    "call"
                  ]
                }
              },
              "example": {
                "phone_numbers": [
                  "+61424000001",
                  "+61424000002"
                ],
                "verification_method": "sms"
              }
            }
          }
        }
      },
      "SharePortingOrder": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "expires_in_seconds": {
                  "description": "The number of seconds the token will be valid for",
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 172800
                },
                "permissions": {
                  "description": "The permissions the token will have",
                  "type": "string",
                  "enum": [
                    "porting_order.document.read",
                    "porting_order.document.update"
                  ]
                }
              },
              "example": {
                "expires_in_seconds": 3600,
                "permissions": "porting_order.document.read"
              }
            }
          }
        }
      },
      "SiprecConnectorRequest": {
        "description": "The parameters required to create or update a SIPREC connector.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SiprecConnector"
            }
          }
        }
      },
      "TexmlCreateCallRecordingRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateCallRecordingRequestBody"
            }
          }
        },
        "description": "Starts call recording on a call."
      },
      "TexmlCreateCallStreamingRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateCallStreamingRequestBody"
            }
          }
        },
        "description": "Start streaming media from a call"
      },
      "TexmlCreateSiprecSessionRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateSiprecSessionRequestBody"
            }
          }
        },
        "description": "Starts a SIPREC session."
      },
      "TexmlUpdateCallRecordingRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlUpdateCallRecordingRequestBody"
            }
          }
        },
        "description": "Update call recording on a call."
      },
      "TexmlUpdateCallStreamingRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlUpdateCallStreamingRequestBody"
            }
          }
        },
        "description": "Update streaming"
      },
      "TexmlUpdateSiprecSessionRequest": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/TexmlUpdateSiprecSessionRequestBody"
            }
          }
        },
        "description": "Updates a SIPREC session."
      },
      "UpdatePortingOrdersActivationJob": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "activate_at": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2019-01-01T00:00:00Z",
                  "description": "The desired activation time. The activation time should be between any of the activation windows."
                }
              }
            }
          }
        }
      },
      "VerifyCustomerServiceRecordPhoneNumberCoverage": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "phone_numbers"
              ],
              "properties": {
                "phone_numbers": {
                  "type": "array",
                  "description": "The phone numbers list to be verified.",
                  "items": {
                    "type": "string",
                    "description": "A valid US phone number in E164 format.",
                    "example": "+13035553000",
                    "pattern": "^\\+1\\d{10}$"
                  }
                }
              }
            }
          }
        }
      },
      "VerifyPortingVerificationCodes": {
        "description": "A list of phone numbers and their verification codes",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "verification_codes": {
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "properties": {
                      "phone_number": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "example": {
                "verification_codes": [
                  {
                    "phone_number": "+61424000001",
                    "code": "12345"
                  },
                  {
                    "phone_number": "+61424000002",
                    "code": "54321"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "responses": {
      "10dlc_GenericErrorResponse": {
        "description": "Generic response error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/10dlc_Errors"
            }
          }
        }
      },
      "ActionSuccessResponse": {
        "description": "Success Action Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "string",
                      "example": "ok"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ActiveCallsResponse": {
        "description": "Successful response with list of details about active calls.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Active Calls Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActiveCall"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/CursorPaginationMeta"
                }
              }
            }
          }
        }
      },
      "AddressResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Address"
                }
              }
            }
          }
        }
      },
      "AdvancedOrderResponse": {
        "description": "An Advanced Order Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AdvancedOrder"
            }
          }
        }
      },
      "AlphanumericSenderIdResponse": {
        "description": "Successful response with a single alphanumeric sender ID.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/AlphanumericSenderId"
                }
              }
            }
          }
        }
      },
      "AuditLogListResponse": {
        "description": "A list of audit log entries.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AuditLogList"
            }
          }
        }
      },
      "AuditLogsGenericErrorResponse": {
        "description": "Unexpected error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AuditLogsErrors"
            }
          }
        }
      },
      "AutoRechargePrefResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/AutoRechargePref"
                }
              }
            }
          }
        }
      },
      "BadRequest": {
        "description": "Bad request — invalid input or validation error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/branded-calling_ErrorResponse"
            }
          }
        }
      },
      "BadRequestErrorResponse": {
        "description": "Invalid request parameters",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/invoice_Errors"
            }
          }
        }
      },
      "BadRequestResponse": {
        "description": "Bad request. The request was invalid or cannot be served. Common causes include: audio file download failures, attempting to delete non-empty queues, invalid characters in the request, or character encoding errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "examples": {
              "audio_file_download_failed": {
                "summary": "Audio file download failed",
                "value": {
                  "errors": [
                    {
                      "code": "90040",
                      "title": "Downloading audio file failed",
                      "detail": "Provided audio file couldn't be downloaded."
                    }
                  ]
                }
              },
              "queue_not_empty": {
                "summary": "Queue not empty",
                "value": {
                  "errors": [
                    {
                      "code": "90050",
                      "title": "Unable to delete queue",
                      "detail": "Only empty queues can be deleted."
                    }
                  ]
                }
              },
              "invalid_characters": {
                "summary": "Invalid characters",
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Bad Request",
                      "detail": "Invalid characters in the request."
                    }
                  ]
                }
              },
              "character_encoding_error": {
                "summary": "Character encoding error",
                "value": {
                  "errors": [
                    {
                      "code": "10028",
                      "title": "Character encoding error",
                      "detail": "Error decoding request body at position 42",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10028"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "BadRequestTelnyx": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/branded-calling_ErrorResponse"
            }
          }
        }
      },
      "BlackBoxTestResultsResponse": {
        "description": "A list of black box test results.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BlackBoxTestResultSet"
                  }
                }
              }
            }
          }
        }
      },
      "BulkDeleteRoomRecordingsResponse": {
        "description": "Successful response for Bulk Delete Room recordings requests",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Bulk Room Recordings Delete Response",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "room_recordings": {
                      "type": "integer",
                      "description": "Amount of room recordings affected",
                      "example": 5
                    }
                  }
                }
              }
            }
          }
        }
      },
      "BulkMessagingSettingsUpdatePhoneNumbersResponse": {
        "description": "Successful response with details about messaging bulk update phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve bulk update messaging settings Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/BulkMessagingSettingsUpdatePhoneNumbers"
                }
              }
            }
          }
        }
      },
      "BulkSIMCardActionCollectionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BulkSIMCardActionDetailed"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "BulkSIMCardActionDetailedResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/BulkSIMCardActionDetailed"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "BulkSIMCardActionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/BulkSIMCardAction"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "CallControlApplicationResponse": {
        "description": "Successful response with details about a call control application.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Call Control Application Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallControlApplication"
                }
              }
            }
          }
        }
      },
      "CallControlCommandResponse": {
        "description": "Successful response upon making a call control command.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Call Control Command Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallControlCommandResult"
                }
              }
            }
          }
        }
      },
      "CallControlCommandResponseWithConversationId": {
        "description": "Successful response upon making a call control command that includes conversation_id.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Call Control Command Response With Conversation ID",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallControlCommandResultWithConversationId"
                }
              }
            }
          }
        }
      },
      "CallControlCommandResponseWithConversationRelayId": {
        "description": "Successful response upon starting Conversation Relay.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Call Control Command Response With Conversation Relay ID",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallControlCommandResultWithConversationRelayId"
                }
              }
            }
          }
        }
      },
      "CallControlCommandResponseWithRecordingId": {
        "description": "Successful response upon making a call control command that includes recording_id.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Call Control Command Response With Recording ID",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallControlCommandResultWithRecordingId"
                }
              }
            }
          }
        }
      },
      "CancelFaxResponse": {
        "description": "Successful response upon accepting cancel fax command",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Successful response upon accepting cancel fax command",
              "example": {
                "data": {
                  "result": "ok"
                }
              },
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "string",
                      "example": "ok"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CancelPortingOrderResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrder"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "phone_numbers_url": {
                      "type": "string",
                      "description": "Link to list all phone numbers"
                    }
                  }
                }
              },
              "example": {
                "data": {
                  "activation_settings": {
                    "activation_status": null,
                    "fast_port_eligible": true,
                    "foc_datetime_actual": null,
                    "foc_datetime_requested": "2022-04-08T15:00:00Z"
                  },
                  "created_at": "2022-03-24T14:22:28Z",
                  "customer_reference": "Test1234",
                  "customer_group_reference": "Group-789",
                  "description": "FP Telnyx",
                  "documents": {
                    "loa": "3a5b98a0-5049-47c3-96e1-aa6c8d119117",
                    "invoice": "3a5b98a0-5049-47c3-96e1-aa6c8d119117"
                  },
                  "end_user": {
                    "admin": {
                      "account_number": "123abc",
                      "auth_person_name": "Porter McPortersen II",
                      "billing_phone_number": "+13035551234",
                      "business_identifier": "abc123",
                      "entity_name": "Porter McPortersen",
                      "pin_passcode": "1234",
                      "tax_identifier": "1234abcd"
                    },
                    "location": {
                      "administrative_area": "TX",
                      "country_code": "US",
                      "extended_address": "14th Floor",
                      "locality": "Austin",
                      "postal_code": "78701",
                      "street_address": "600 Congress Avenue"
                    }
                  },
                  "id": "eef10fb8-f3df-4c67-97c5-e18179723222",
                  "misc": {
                    "new_billing_phone_number": null,
                    "remaining_numbers_action": null,
                    "type": "full"
                  },
                  "old_service_provider_ocn": "Unreal Communications",
                  "parent_support_key": "pr_4bec1a",
                  "phone_number_configuration": {
                    "billing_group_id": null,
                    "connection_id": "1752379429071357070",
                    "emergency_address_id": null,
                    "messaging_profile_id": null,
                    "tags": []
                  },
                  "phone_number_type": "local",
                  "porting_phone_numbers_count": 1,
                  "record_type": "porting_order",
                  "requirements": [],
                  "requirements_met": true,
                  "status": {
                    "details": [],
                    "value": "cancel-pending"
                  },
                  "support_key": "sr_10b316",
                  "updated_at": "2022-03-24T16:43:35Z",
                  "user_feedback": {
                    "user_comment": null,
                    "user_rating": null
                  },
                  "user_id": "40d68ba2-0847-4df2-be9c-b0e0cb673e75",
                  "webhook_url": "https://example.com/porting_webhooks"
                },
                "meta": {
                  "phone_numbers_url": "/v2/porting_phone_numbers?filter[porting_order_id]=eef10fb8-f3df-4c67-97c5-e18179723222"
                }
              }
            }
          }
        }
      },
      "CommentResponse": {
        "description": "A Comment Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Comment"
                    },
                    {
                      "type": "object"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "ConferenceCommandResponse": {
        "description": "Successful response upon making a conference command.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Conference Command Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ConferenceCommandResult"
                }
              }
            }
          }
        }
      },
      "ConferenceResponse": {
        "description": "Successful response with details about a conference.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Conference Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Conference"
                }
              }
            }
          }
        }
      },
      "ConfirmPortingOrderResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrder"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "phone_numbers_url": {
                      "type": "string",
                      "description": "Link to list all phone numbers"
                    }
                  }
                }
              },
              "example": {
                "data": {
                  "activation_settings": {
                    "activation_status": null,
                    "fast_port_eligible": true,
                    "foc_datetime_actual": null,
                    "foc_datetime_requested": "2022-04-08T15:00:00Z"
                  },
                  "created_at": "2022-03-24T14:22:28Z",
                  "customer_reference": "Test1234",
                  "customer_group_reference": "Group-789",
                  "description": "FP Telnyx",
                  "documents": {
                    "loa": "3a5b98a0-5049-47c3-96e1-aa6c8d119117",
                    "invoice": "3a5b98a0-5049-47c3-96e1-aa6c8d119117"
                  },
                  "end_user": {
                    "admin": {
                      "account_number": "123abc",
                      "auth_person_name": "Porter McPortersen II",
                      "billing_phone_number": "+13035551234",
                      "business_identifier": "abc123",
                      "entity_name": "Porter McPortersen",
                      "pin_passcode": "1234",
                      "tax_identifier": "1234abcd"
                    },
                    "location": {
                      "administrative_area": "TX",
                      "country_code": "US",
                      "extended_address": "14th Floor",
                      "locality": "Austin",
                      "postal_code": "78701",
                      "street_address": "600 Congress Avenue"
                    }
                  },
                  "id": "eef10fb8-f3df-4c67-97c5-e18179723222",
                  "misc": {
                    "new_billing_phone_number": null,
                    "remaining_numbers_action": null,
                    "type": "full"
                  },
                  "old_service_provider_ocn": "Unreal Communications",
                  "parent_support_key": "pr_4bec1a",
                  "phone_number_configuration": {
                    "billing_group_id": null,
                    "connection_id": "1752379429071357070",
                    "emergency_address_id": null,
                    "messaging_profile_id": null,
                    "tags": []
                  },
                  "phone_number_type": "local",
                  "porting_phone_numbers_count": 1,
                  "record_type": "porting_order",
                  "requirements": [],
                  "requirements_met": true,
                  "status": {
                    "details": [],
                    "value": "in-process"
                  },
                  "support_key": "sr_10b316",
                  "updated_at": "2022-03-24T16:42:43Z",
                  "user_feedback": {
                    "user_comment": null,
                    "user_rating": null
                  },
                  "messaging": {
                    "messaging_capable": true,
                    "enable_messaging": false,
                    "messaging_port_status": "not_applicable",
                    "messaging_port_completed": false
                  },
                  "user_id": "40d68ba2-0847-4df2-be9c-b0e0cb673e75",
                  "webhook_url": "https://example.com/porting_webhooks"
                },
                "meta": {
                  "phone_numbers_url": "/v2/porting_phone_numbers?filter[porting_order_id]=eef10fb8-f3df-4c67-97c5-e18179723222"
                }
              }
            }
          }
        }
      },
      "ConflictErrorResponse": {
        "description": "Resource conflict or in use",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors"
            }
          }
        }
      },
      "ConnectionResponse": {
        "description": "Successful response with details about a connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          }
        }
      },
      "CountryCoverageResponse": {
        "description": "Response for country coverage",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/CountryCoverage"
                  }
                }
              }
            },
            "examples": {
              "example-1": {
                "value": {
                  "data": {
                    "Afghanistan": {
                      "code": "AF",
                      "numbers": false,
                      "features": [],
                      "phone_number_type": [],
                      "reservable": false,
                      "quickship": false,
                      "international_sms": false,
                      "p2p": false,
                      "local": {},
                      "toll_free": {},
                      "mobile": {},
                      "national": {},
                      "region": null,
                      "inventory_coverage": false
                    },
                    "Aland Islands": {
                      "code": "AX",
                      "numbers": false,
                      "features": [],
                      "phone_number_type": [],
                      "reservable": false,
                      "quickship": false,
                      "international_sms": false,
                      "p2p": false,
                      "local": {},
                      "toll_free": {},
                      "mobile": {},
                      "national": {},
                      "region": null,
                      "inventory_coverage": false
                    },
                    "Albania": {
                      "code": "AL",
                      "numbers": true,
                      "features": [
                        "voice",
                        "fax"
                      ],
                      "phone_number_type": [
                        "local",
                        "toll_free"
                      ],
                      "reservable": false,
                      "quickship": false,
                      "international_sms": false,
                      "p2p": false,
                      "local": {
                        "features": [
                          "fax",
                          "voice"
                        ],
                        "reservable": false,
                        "full_pstn_replacement": false,
                        "quickship": false,
                        "international_sms": false,
                        "p2p": false
                      },
                      "toll_free": {
                        "features": [
                          "fax",
                          "voice"
                        ],
                        "reservable": false,
                        "full_pstn_replacement": false,
                        "quickship": false,
                        "international_sms": false,
                        "p2p": false
                      },
                      "mobile": {},
                      "national": {},
                      "region": "EMEA",
                      "inventory_coverage": false,
                      "shared_cost": {}
                    },
                    "Algeria": {
                      "code": "DZ",
                      "numbers": false,
                      "features": [],
                      "phone_number_type": [],
                      "reservable": false,
                      "quickship": false,
                      "international_sms": false,
                      "p2p": false,
                      "local": {},
                      "toll_free": {},
                      "mobile": {},
                      "national": {},
                      "region": null,
                      "inventory_coverage": false
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreateCustomerServiceRecord": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CustomerServiceRecord"
                }
              },
              "example": {
                "data": {
                  "id": "db7cebdb-21a8-4e89-8f51-e03ba6b799bb",
                  "phone_number": "+2003271000",
                  "status": "pending",
                  "error_message": null,
                  "result": null,
                  "webhook_url": "https://example.com/webhook",
                  "created_at": "2023-01-01T00:00:00Z",
                  "updated_at": "2023-01-01T00:00:00Z"
                }
              }
            }
          }
        }
      },
      "CreatePortOutSupportingDocumentsResponse": {
        "description": "Portout Supporting Documents",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortOutSupportingDocument"
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingAdditionalDocuments": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingAdditionalDocument"
                  }
                }
              },
              "example": {
                "data": [
                  {
                    "id": "2acd1061-33cb-49b8-8014-beb6dc3fedbf",
                    "document_id": "40bc547a-7f96-4cd5-926a-da4842671e88",
                    "document_type": "loa",
                    "porting_order_id": "9d7b3b8e-4e67-4837-9c44-d110cd2c82a1",
                    "record_type": "porting_additional_document",
                    "created_at": "2023-06-01T10:00:00.00000Z",
                    "updated_at": "2023-06-01T10:00:00.00000Z"
                  }
                ]
              }
            }
          }
        }
      },
      "CreatePortingLOAConfiguration": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingLOAConfiguration"
                }
              }
            }
          }
        }
      },
      "CreatePortingPhoneNumberConfigurations": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingPhoneNumberConfiguration"
                  }
                }
              }
            }
          }
        }
      },
      "CreatePortingReport": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingReport"
                }
              }
            }
          }
        }
      },
      "CreatePortoutReport": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortoutReport"
                }
              }
            }
          }
        }
      },
      "CreatePrivateWirelessGatewayResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PrivateWirelessGateway"
                }
              },
              "example": {
                "data": {
                  "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "network_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "record_type": "private_wireless_gateway",
                  "created_at": "2018-02-02T22:25:27.521Z",
                  "updated_at": "2018-02-02T22:25:27.521Z",
                  "name": "My private wireless gateway",
                  "region_code": "dc2",
                  "status": {
                    "value": "provisioning",
                    "error_description": null,
                    "error_code": null
                  },
                  "ip_range": "100.64.1.0/24",
                  "assigned_resources": [
                    {
                      "record_type": "sim_card_group",
                      "count": 1
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "CreateRoomClientTokenResponse": {
        "description": "Create room client token response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string",
                      "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ"
                    },
                    "token_expires_at": {
                      "description": "ISO 8601 timestamp when the token expires.",
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-03-26T17:51:59Z"
                    },
                    "refresh_token": {
                      "type": "string",
                      "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ"
                    },
                    "refresh_token_expires_at": {
                      "description": "ISO 8601 timestamp when the refresh token expires.",
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-03-26T17:51:59Z"
                    }
                  },
                  "example": {
                    "token": "eyJhbGciOiJFZDI1NTE5IiwidHlwIjoiSldUIn0.eyJhdWQiOiJ0ZWxueXhfYWNjZXNzX3Rva2VuIiwiZXhwIjoxNjE5MDk0Mjk1LCJncmFudHMiOlt7ImFjdGlvbnMiOlsiam9pbiJdLCJyZXNvdXJjZXMiOlsidGVsbnl4OnZpZGVvOnJvb21zOjllMmEwY2JlLWNlNjYtNDExZS1hMWFjLTQ2OGYwYjEwM2M5YSJdLCJzdWJqZWN0cyI6WyJ0ZWxueXg6dXNlcnM6NzgyYjJjYmUtODQ2Ni00ZTNmLWE0ZDMtOTc4MWViNTc3ZTUwIl19XSwiZ3JhbnRzX3ZlcnNpb24iOiIxLjAuMCIsImlhdCI6MTYxOTA5MzY5NSwiaXNzIjoidGVsbnl4X2FjY2Vzc190b2tlbiIsImp0aSI6IjllNjIyOTA2LTc1ZTctNDBiNi1iOTAwLTc1NGIxZjNlZDMyZiIsIm5iZiI6MTYxOTA5MzY5NCwic3ViIjoibnVsbCIsInR5cCI6ImFjY2VzcyJ9.1JGK9PyHkTtoP_iMu-8TzXH_fhmnsDtZZOAJLDzLW6DDtAb80wZ93l1VH5yNx5tFqwIFG0t48dRiBKWlW-nzDA",
                    "token_expires_at": "2021-04-22T12:24:55Z",
                    "refresh_token": "eyJhbGciOiJFZDI1NTE5IiwidHlwIjoiSldUIn0.eyJhdWQiOiJ0ZWxueXhfYWNjZXNzX3Rva2VuIiwiZXhwIjoxNjE5MDkzNzA1LCJncmFudHMiOlt7ImFjdGlvbnMiOlsiam9pbiJdLCJyZXNvdXJjZXMiOlsidGVsbnl4OnZpZGVvOnJvb21zOjllMmEwY2JlLWNlNjYtNDExZS1hMWFjLTQ2OGYwYjEwM2M5YSJdLCJzdWJqZWN0cyI6WyJ0ZWxueXg6dXNlcnM6NzgyYjJjYmUtODQ2Ni00ZTNmLWE0ZDMtOTc4MWViNTc3ZTUwIl19XSwiZ3JhbnRzX3ZlcnNpb24iOiIxLjAuMCIsImlhdCI6MTYxOTA5MzY5NSwiaXNzIjoidGVsbnl4X2FjY2Vzc190b2tlbiIsImp0aSI6ImQ3OWJlMzhjLWFkNTQtNGQ5ZC1hODc4LWExNjVjNTk0MGQwNyIsIm5iZiI6MTYxOTA5MzY5NCwic3ViIjoibnVsbCIsInR5cCI6InJlZnJlc2gifQ.FHsp7KlVXn1E5tTUiKZzmQ4of39gi57AakeQeqI0oAa8hzjFMVb0RGj-mxWTvHVen4GpgsUW_epqqaxK16viCA",
                    "refresh_token_expires_at": "2021-04-22T12:15:05Z"
                  }
                }
              }
            }
          }
        }
      },
      "CreateRoomCompositionResponse": {
        "description": "Create room composition response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RoomComposition"
                }
              }
            }
          }
        }
      },
      "CreateRoomResponse": {
        "description": "Create room response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Room"
                }
              }
            }
          }
        }
      },
      "CreateSimCardDataUsageNotificationResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SimCardDataUsageNotification"
                }
              }
            }
          }
        }
      },
      "CreateSimCardGroupResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardGroup"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "CreateSimCardOrderResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardOrder"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "CreateTeXMLSecretResponse": {
        "description": "Successful response upon creating a TeXML secret.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Create TeXML Secret request",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CreateTeXMLSecretResult"
                }
              }
            }
          }
        }
      },
      "CreateTrafficPolicyProfileResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/TrafficPolicyProfile"
                }
              }
            }
          }
        }
      },
      "CreateWdrReportResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WdrReport"
                }
              }
            }
          }
        }
      },
      "CreateWirelessBlocklistResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WirelessBlocklist"
                }
              },
              "example": {
                "data": {
                  "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "record_type": "wireless_blocklist",
                  "created_at": "2018-02-02T22:25:27.521Z",
                  "updated_at": "2018-02-02T22:25:27.521Z",
                  "name": "North American Wireless Blocklist",
                  "type": "country",
                  "values": [
                    "CA",
                    "MX",
                    "US"
                  ]
                }
              }
            }
          }
        }
      },
      "CredentialConnectionResponse": {
        "description": "Successful response with details about a credential connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Credential Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CredentialConnection"
                }
              }
            }
          }
        }
      },
      "CredentialsResponseBody": {
        "description": "A response containing a credentials resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CredentialsResponse"
            }
          }
        }
      },
      "CsvDownloadResponse": {
        "description": "Successful response with details about a CSV download.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "CSV Download Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CsvDownload"
                  }
                }
              }
            }
          }
        }
      },
      "DefaultGatewayResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DefaultGateway"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "DeletePhoneNumberResponse": {
        "description": "Successful response with details about a phone number.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Phone Number Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PhoneNumberDeletedDetailed"
                }
              }
            }
          }
        }
      },
      "DeletePrivateWirelessGatewayResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PrivateWirelessGateway"
                }
              }
            }
          }
        }
      },
      "DeleteSimCardDataUsageNotificationResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SimCardDataUsageNotification"
                }
              }
            }
          }
        }
      },
      "DeleteSimCardGroupResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardGroup"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "DeleteSimCardResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCard"
                }
              }
            }
          }
        }
      },
      "DeleteTrafficPolicyProfileResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifies the resource.",
                      "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "DeleteWdrReportResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WdrReport"
                }
              }
            }
          }
        }
      },
      "DeleteWirelessBlocklistResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WirelessBlocklist"
                }
              }
            }
          }
        }
      },
      "DialParticipantResponse": {
        "description": "New participant resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/NewParticipantResource"
            }
          }
        }
      },
      "DialogflowConnectionResponseBody": {
        "description": "Return details of the Dialogflow connection associated with the given CallControl connection.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DialogflowConnectionResponse"
            }
          }
        }
      },
      "DocReqsListRequirementTypesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DocReqsRequirementTypeList"
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "DocReqsRequirementResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DocReqsRequirement"
                }
              }
            }
          }
        }
      },
      "DocReqsRequirementTypeResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DocReqsRequirementType"
                }
              }
            }
          }
        }
      },
      "DocServiceDocumentResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DocServiceDocument"
                }
              }
            }
          }
        }
      },
      "DownloadDocServiceDocumentResponse": {
        "description": "Successful response",
        "content": {
          "*": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "DownloadLOATemplate": {
        "description": "Successful response",
        "content": {
          "application/pdf": {
            "schema": {
              "type": "string",
              "format": "binary",
              "example": "%PDF-1.4..."
            }
          }
        }
      },
      "DynamicEmergencyAddressResponse": {
        "description": "Dynamic Emergency Address Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DynamicEmergencyAddress"
                }
              }
            }
          }
        }
      },
      "DynamicEmergencyEndpointResponse": {
        "description": "Dynamic Emergency Endpoint Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DynamicEmergencyEndpoint"
                }
              }
            }
          }
        }
      },
      "ExternalConnectionResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "External Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ExternalConnection"
                }
              }
            }
          }
        }
      },
      "FaxApplicationResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Fax Application Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/FaxApplication"
                }
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/video_Error"
            }
          }
        }
      },
      "ForbiddenErrorResponse": {
        "description": "Insufficient permissions to access billing group",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors"
            }
          }
        }
      },
      "ForbiddenResponse": {
        "description": "Forbidden. The request is understood but has been refused.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-recordings_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "403",
                  "title": "Forbidden",
                  "detail": "Forbidden"
                }
              ]
            }
          }
        }
      },
      "FqdnConnectionResponse": {
        "description": "Successful response with details about an FQDN connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "FQDN Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/FqdnConnection"
                }
              }
            }
          }
        }
      },
      "FqdnResponse": {
        "description": "Successful response with details about an FQDN connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "FQDN Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Fqdn"
                }
              }
            }
          }
        }
      },
      "GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/billing_Errors"
            }
          }
        }
      },
      "GetAllAddressResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Address"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllCivicAddressesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get All Civic Addresses Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CivicAddress"
                  }
                }
              }
            }
          }
        }
      },
      "GetAllExternalConnectionResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get All External Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalConnection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/external-voice-integrations_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllFaxApplicationsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get All Fax Applications Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FaxApplication"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllPrivateWirelessGatewaysResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrivateWirelessGateway"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllSimCardGroupsResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchedSIMCardGroup"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "GetAllSimCardOrdersResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SIMCardOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "GetAllTelephonyCredentialResponse": {
        "description": "Successful response with multiple credentials",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get All Telephony Credential Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TelephonyCredential"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllTexmlApplicationsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get All Texml Applications Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TexmlApplication"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/call-scripting_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllUserAddressResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserAddress"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetAllWirelessBlocklistsResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WirelessBlocklist"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetCallResponse": {
        "description": "Call resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CallResource"
            }
          }
        }
      },
      "GetCallsResponse": {
        "description": "Multiple call resources.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CallResourceIndex"
            }
          }
        }
      },
      "GetCivicAddressResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Civic Address Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CivicAddress"
                }
              }
            }
          }
        }
      },
      "GetConferenceRecordingsResponse": {
        "description": "Multiple conference recording resources.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConferenceRecordingResourceIndex"
            }
          }
        }
      },
      "GetConferenceResponse": {
        "description": "Conference resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConferenceResource"
            }
          }
        }
      },
      "GetConferencesResponse": {
        "description": "Multiple conference resources.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConferenceResourceIndex"
            }
          }
        }
      },
      "GetExternalConnectionPhoneNumberResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get External Connection Phone Number Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ExternalConnectionPhoneNumber"
                }
              }
            }
          }
        }
      },
      "GetFaxResponse": {
        "description": "Get fax response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Fax Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Fax"
                }
              }
            }
          }
        }
      },
      "GetGcbChannelZonesRequestResponse": {
        "description": "A list of channel zones",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GcbChannelZone"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetGcbNumbersResponse": {
        "description": "A list of numbers using GCB, grouped by channel zone",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "zone_name": {
                        "type": "string",
                        "example": "Euro channel zone"
                      },
                      "zone_id": {
                        "type": "string",
                        "example": "1653e6a1-4bfd-4857-97c6-6a51e1c34477"
                      },
                      "number_of_channels": {
                        "type": "integer",
                        "example": 7
                      },
                      "numbers": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "number": {
                              "type": "string",
                              "example": "+15554441234"
                            },
                            "country": {
                              "type": "string",
                              "example": "FR"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetLogMessageResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Log Message Response",
              "properties": {
                "log_messages": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LogMessage"
                  },
                  "minItems": 1,
                  "maxItems": 1
                }
              }
            }
          }
        }
      },
      "GetParticipantResponse": {
        "description": "Participant resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ParticipantResource"
            }
          }
        }
      },
      "GetParticipantsResponse": {
        "description": "Multiple participant resources.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ParticipantResourceIndex"
            }
          }
        }
      },
      "GetPrivateWirelessGatewayResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PrivateWirelessGateway"
                }
              }
            }
          }
        }
      },
      "GetQueueResponse": {
        "description": "Queue resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/QueueResource"
            }
          }
        }
      },
      "GetQueuesResponse": {
        "description": "Multiple queue resources.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/QueueResourceIndex"
            }
          }
        }
      },
      "GetReleaseResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Release Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Release"
                }
              }
            }
          }
        }
      },
      "GetRoomCompositionResponse": {
        "description": "Get room composition response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RoomComposition"
                }
              }
            }
          }
        }
      },
      "GetRoomParticipantResponse": {
        "description": "Get room participant response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RoomParticipant"
                }
              }
            }
          }
        }
      },
      "GetRoomRecordingResponse": {
        "description": "Get room recording response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RoomRecording"
                }
              }
            }
          }
        }
      },
      "GetRoomResponse": {
        "description": "Get room response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Room"
                }
              }
            }
          }
        }
      },
      "GetRoomSessionResponse": {
        "description": "Get room session response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RoomSession"
                }
              }
            }
          }
        }
      },
      "GetSimCardDataUsageNotificationResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SimCardDataUsageNotification"
                }
              }
            }
          }
        }
      },
      "GetSimCardGroupResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardGroup"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "GetSimCardOrderResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardOrder"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "GetSimCardResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCard"
                }
              }
            }
          }
        }
      },
      "GetTrafficPolicyProfileResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/TrafficPolicyProfile"
                }
              }
            }
          }
        }
      },
      "GetTrafficPolicyProfileServicesResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WirelessPcrfService"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetTrafficPolicyProfilesResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrafficPolicyProfile"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GetUploadResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Upload Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Upload"
                }
              }
            }
          }
        }
      },
      "GetUploadsStatusResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Get Uploads Status Response",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "pending_numbers_count": {
                      "type": "integer",
                      "description": "The count of phone numbers that are pending assignment to the external connection."
                    },
                    "pending_orders_count": {
                      "type": "integer",
                      "description": "The count of number uploads that have not yet been uploaded to Microsoft."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "GetWdrReportResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WdrReport"
                }
              }
            }
          }
        }
      },
      "GetWdrReportsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WdrReport"
                  }
                }
              }
            }
          }
        }
      },
      "GetWirelessBlocklistResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WirelessBlocklist"
                }
              }
            }
          }
        }
      },
      "GlobalIpAllowedPortListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIPAllowedPort"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpAssignmentListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpAssignment"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GlobalIpAssignmentResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/GlobalIpAssignment"
                }
              }
            }
          }
        }
      },
      "GlobalIpAssignmentUsageResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpAssignmentUsageMetric"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpHealthCheckListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIPHealthCheck"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GlobalIpHealthCheckResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/GlobalIPHealthCheck"
                }
              }
            }
          }
        }
      },
      "GlobalIpHealthCheckTypesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpHealthCheckType"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpHealthResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpAssignmentHealthMetric"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpLatencyResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpLatencyMetric"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIP"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "GlobalIpProtocolListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIPProtocol"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/GlobalIP"
                }
              }
            }
          }
        }
      },
      "GlobalIpUsageResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalIpUsageMetric"
                  }
                }
              }
            }
          }
        }
      },
      "InexplicitNumberOrderResponse": {
        "description": "Successful response with details about an inexplicit number order.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Inexplicit Number Order Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/InexplicitNumberOrderResponse"
                }
              }
            }
          }
        }
      },
      "InexplicitNumberOrdersResponse": {
        "description": "Successful response with a list of inexplicit number orders.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Inexplicit Number Orders Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InexplicitNumberOrderResponse"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "InitiateAICallResponse": {
        "description": "Successful response upon initiating an AI call.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/InitiateAICallResult"
            }
          }
        }
      },
      "InitiateCallResponse": {
        "description": "Successful response upon initiating a TeXML call.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/InitiateCallResult"
            }
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "Internal server error. An unexpected error occurred on the server. This is typically returned for unhandled exceptions or system failures.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "10007",
                  "title": "Internal server error",
                  "detail": "Internal server error"
                }
              ]
            }
          }
        }
      },
      "InventoryCoverageResponse": {
        "description": "Successful response with a list of inventory coverage levels",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InventoryCoverage"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/InventoryCoverageMetadata"
                }
              }
            }
          }
        }
      },
      "InvoiceDetailResponse": {
        "description": "Get invoice details",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/InvoiceDetail"
                }
              }
            }
          }
        }
      },
      "IpConnectionResponse": {
        "description": "Successful response with details about an IP connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Ip Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/IpConnection"
                }
              }
            }
          }
        }
      },
      "IpResponse": {
        "description": "Successful response with details about an IP.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Ip Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Ip"
                }
              }
            }
          }
        }
      },
      "ListAdvancedOrderResponse": {
        "description": "An array of Advanced Order Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdvancedOrder"
                  }
                }
              }
            }
          }
        }
      },
      "ListAllowedFocWindows": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrdersAllowedFocWindow"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListAlphanumericSenderIdsResponse": {
        "description": "Successful response with a list of alphanumeric sender IDs.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlphanumericSenderId"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListAvailablePhoneNumbersBlockResponse": {
        "description": "Successful response with a list of available phone numbers blocks.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Available Phone Numbers Blocks Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AvailablePhoneNumberBlock"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/AvailablePhoneNumbersMetadata"
                }
              }
            }
          }
        }
      },
      "ListAvailablePhoneNumbersResponse": {
        "description": "Successful response with a list of available phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Available Phone Numbers Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AvailablePhoneNumber"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/AvailablePhoneNumbersMetadata"
                },
                "metadata": {
                  "$ref": "#/components/schemas/AvailablePhoneNumbersMetadata"
                }
              }
            }
          }
        }
      },
      "ListCallControlApplicationsResponse": {
        "description": "Successful response with a list of call control applications.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Call Control Applications Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CallControlApplication"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListCallEventsResponse": {
        "description": "Successful response with a list of call events.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Call Events Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CallEvent"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListConferencesResponse": {
        "description": "Successful response with a list of conferences.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Conferences Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Conference"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListConnectionsResponse": {
        "description": "Successful response with a list of connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Connection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListCredentialConnectionsResponse": {
        "description": "Successful response with a list of credential connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Credential Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CredentialConnection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListCsvDownloadsResponse": {
        "description": "Successful response with a list of CSV downloads.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List CSV Downloads Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CsvDownload"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListCustomerServiceRecordPhoneNumberCoverage": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerServiceRecordPhoneNumberCoverage"
                  }
                }
              }
            }
          }
        }
      },
      "ListCustomerServiceRecords": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerServiceRecord"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListDocServiceDocumentLinksResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocServiceDocumentLink"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListDocServiceDocumentsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocServiceDocument"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListDraftPortingOrdersWithoutPagination": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrder"
                  }
                }
              },
              "example": {
                "data": [
                  {
                    "activation_settings": {
                      "activation_status": null,
                      "fast_port_eligible": true,
                      "foc_datetime_actual": null,
                      "foc_datetime_requested": null
                    },
                    "created_at": "2022-03-17T18:01:01Z",
                    "customer_reference": null,
                    "customer_group_reference": null,
                    "description": "FP Telnyx",
                    "documents": {
                      "loa": null,
                      "invoice": null
                    },
                    "end_user": {
                      "admin": {
                        "account_number": null,
                        "auth_person_name": null,
                        "billing_phone_number": null,
                        "business_identifier": null,
                        "entity_name": null,
                        "pin_passcode": null,
                        "tax_identifier": null
                      },
                      "location": {
                        "administrative_area": null,
                        "country_code": null,
                        "extended_address": null,
                        "locality": null,
                        "postal_code": null,
                        "street_address": null
                      }
                    },
                    "id": "b0ea6d6f-de31-4079-a536-992e0c98b037",
                    "misc": null,
                    "old_service_provider_ocn": "Unreal Communications",
                    "parent_support_key": null,
                    "phone_number_configuration": {
                      "billing_group_id": null,
                      "connection_id": null,
                      "emergency_address_id": null,
                      "messaging_profile_id": null,
                      "tags": []
                    },
                    "phone_number_type": "local",
                    "phone_numbers": [
                      {
                        "activation_status": "Activate RDY",
                        "phone_number": "{e.164 TN}",
                        "phone_number_type": "local",
                        "portability_status": "confirmed",
                        "porting_order_id": "b0ea6d6f-de31-4079-a536-992e0c98b037",
                        "porting_order_status": "draft",
                        "record_type": "porting_phone_number",
                        "requirements_status": "requirement-info-pending",
                        "support_key": "sr_10b316"
                      }
                    ],
                    "porting_phone_numbers_count": 1,
                    "record_type": "porting_order",
                    "requirements": [],
                    "requirements_met": false,
                    "status": {
                      "details": [],
                      "value": "draft"
                    },
                    "support_key": null,
                    "updated_at": "2022-03-17T18:01:01Z",
                    "user_feedback": {
                      "user_comment": null,
                      "user_rating": null
                    },
                    "messaging": {
                      "messaging_capable": true,
                      "enable_messaging": false,
                      "messaging_port_status": "not_applicable",
                      "messaging_port_completed": false
                    },
                    "user_id": "40d68ba2-0847-4df2-be9c-b0e0cb673e75",
                    "webhook_url": null
                  }
                ]
              }
            }
          }
        }
      },
      "ListExternalConnectionPhoneNumbersResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List External Connection Phone Numbers Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalConnectionPhoneNumber"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/external-voice-integrations_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListFaxesResponse": {
        "description": "List faxes response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Faxes Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Fax"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListFqdnConnectionsResponse": {
        "description": "Successful response with a list of FQDN connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List FQDN Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FqdnConnection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListFqdnsResponse": {
        "description": "Successful response with a list of FQDN connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List FQDNs Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Fqdn"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListIpConnectionsResponse": {
        "description": "Successful response with a list of IP connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Ip Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IpConnection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListIpsResponse": {
        "description": "Successful response with a list of IPs.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Ips Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Ip"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListLogMessagesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Log Messages Response",
              "properties": {
                "log_messages": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LogMessage"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/external-voice-integrations_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListManagedAccountsAllocatableGlobalOutboundChannelsResponse": {
        "description": "Successful response with information about allocatable global outbound channels.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ManagedAccountsGlobalOutboundChannels"
                }
              }
            }
          }
        }
      },
      "ListManagedAccountsResponse": {
        "description": "Successful response with a list of managed accounts.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ManagedAccountMultiListing"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMediaResponse": {
        "description": "A response with a list of media resources",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List of media resources response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MediaResource"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMessagingHostedNumberOrdersResponse": {
        "description": "Successful response with a list of messaging hosted number orders.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Hosted Number Order Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessagingHostedNumberOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMessagingProfilePhoneNumbersResponse": {
        "description": "Successful response with a list of messaging profile phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Profile Phone Numbers Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMessagingProfileShortCodesResponse": {
        "description": "Successful response with a list of messaging profile short codes.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Profile Short Codes Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ShortCode"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMessagingProfilesResponse": {
        "description": "Successful response with a list of messaging profiles.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Profiles Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessagingProfile"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListMessagingUrlDomains": {
        "description": "Successful response with details about a messaging URL domain.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Profile Url Domains Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessagingUrlDomain"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListNumberBlockOrdersResponse": {
        "description": "Successful response with a list of number block orders.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Number Block Orders Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NumberBlockOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListNumberOrderPhoneNumbersResponse": {
        "description": "Successful response with a list of number order phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Number Order Phone Numbers Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NumberOrderPhoneNumber"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListNumberOrdersResponse": {
        "description": "Successful response with a list of number orders.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Number Orders Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NumberOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListNumberReservationsResponse": {
        "description": "Successful response with a list of number reservations.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Number Reservations Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NumberReservation"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListOrganizationUsersResponse": {
        "description": "Successful response with a list of organization users.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Organization Users Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationUser"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/users_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListOutboundVoiceProfilesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Outbound Voice Profiles Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OutboundVoiceProfile"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListParticipantsResponse": {
        "description": "Successful response with a list of conference participants.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Participants Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Participant"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPhoneNumberBlocksJobsResponse": {
        "description": "Successful response with a list of phone number blocks background jobs.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Phone Number Blocks Background Jobs Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumberBlocksJob"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPhoneNumbersJobsResponse": {
        "description": "Successful response with a list of phone numbers background jobs.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Phone Numbers Background Jobs Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumbersJob"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPhoneNumbersResponse": {
        "description": "Successful response with a list of phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Phone Numbers Response",
              "required": [
                "data",
                "meta"
              ],
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumberDetailed"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/numbers_Error"
                  }
                }
              }
            }
          }
        }
      },
      "ListPhoneNumbersWithMessagingSettingsResponse": {
        "description": "Successful response with a list of phone numbers with messaging settings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Settings Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPhoneNumbersWithVoiceSettingsResponse": {
        "description": "Successful response with a list of phone numbers with voice settings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Phone Numbers With Voice Settings Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PhoneNumberWithVoiceSettings"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingActionRequirements": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingActionRequirement"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingAdditionalDocuments": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingAdditionalDocument"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              },
              "example": {
                "data": [
                  {
                    "id": "2acd1061-33cb-49b8-8014-beb6dc3fedbf",
                    "document_id": "40bc547a-7f96-4cd5-926a-da4842671e88",
                    "document_type": "loa",
                    "porting_order_id": "9d7b3b8e-4e67-4837-9c44-d110cd2c82a1",
                    "record_type": "porting_additional_document",
                    "created_at": "2023-06-01T10:00:00.00000Z",
                    "updated_at": "2023-06-01T10:00:00.00000Z"
                  }
                ],
                "meta": {
                  "total_pages": 1,
                  "total_results": 1,
                  "page_number": 1,
                  "page_size": 25
                }
              }
            }
          }
        }
      },
      "ListPortingAssociatedPhoneNumbers": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingAssociatedPhoneNumber"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingEventsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingEvent"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingLOAConfigurations": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingLOAConfiguration"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingOrder": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingOrderRequirements": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrderRequirementDetail"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingOrdersActivationJobs": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrdersActivationJob"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingOrdersComments": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrdersComment"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingOrdersExceptionTypes": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingOrdersExceptionType"
                  }
                }
              }
            }
          }
        }
      },
      "ListPortingPhoneNumberBlocks": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingPhoneNumberBlock"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingPhoneNumberConfigurations": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingPhoneNumberConfiguration"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingPhoneNumberExtensions": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingPhoneNumberExtension"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingPhoneNumbers": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingPhoneNumber"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          },
          "text/csv": {
            "schema": {
              "type": "string",
              "example": "phone_number,phone_number_type,porting_order_id,support_key,porting_order_status\r\n+12003155566,local,5f940c35-ef28-4408-bb95-af73b047d589,sr_a12345,draft\r\n"
            }
          }
        }
      },
      "ListPortingReports": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingReport"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortingUKCarriersResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingUKCarrier"
                  }
                }
              }
            }
          }
        }
      },
      "ListPortingVerificationCodes": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingVerificationCode"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              },
              "example": {
                "data": [
                  {
                    "id": "52090326-6533-4421-bcf4-bd0117cf3954",
                    "phone_number": "+61424000001",
                    "verified": true,
                    "porting_order_id": "f28e6ecc-29a8-430b-bd0b-d93055f70604",
                    "created_at": "2020-10-22T15:00:00.000Z",
                    "updated_at": "2020-10-22T15:00:00.000Z"
                  },
                  {
                    "id": "cf076b8e-645b-4040-8209-543c5909775f",
                    "phone_number": "+61424000002",
                    "verified": false,
                    "porting_order_id": "f28e6ecc-29a8-430b-bd0b-d93055f70604",
                    "created_at": "2020-10-22T15:00:00.000Z",
                    "updated_at": "2020-10-22T15:00:00.000Z"
                  }
                ],
                "meta": {
                  "total_pages": 1,
                  "total_results": 2,
                  "page_number": 1,
                  "page_size": 2
                }
              }
            }
          }
        }
      },
      "ListPortoutComments": {
        "description": "Portout Comments",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortoutComment"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          }
        }
      },
      "ListPortoutEventsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortoutEvent"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortoutRejections": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortoutRejection"
                  }
                }
              }
            }
          }
        }
      },
      "ListPortoutReports": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortoutReport"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListPortoutResponse": {
        "description": "Portout Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortoutDetails"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          }
        }
      },
      "ListQueueCallsResponse": {
        "description": "Successful response with a list of calls in a queue.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Queue Calls Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QueueCall"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListQueuesResponse": {
        "description": "Successful response with a list of queues.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Queues Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Queue"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRecordingTranscriptionsResponse": {
        "description": "A response listing multiple recording transcriptions.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecordingTranscription"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/call-recordings_CursorPaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListReleasesResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Releases Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Release"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/external-voice-integrations_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRequirementsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/DocReqsRequirementList"
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRoomCompositionsResponse": {
        "description": "List room compositions response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoomComposition"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRoomParticipantsResponse": {
        "description": "List room participants response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoomParticipant"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRoomRecordingsResponse": {
        "description": "List room recordings response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoomRecording"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRoomSessionsResponse": {
        "description": "List room sessions response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoomSession"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListRoomsResponse": {
        "description": "List rooms response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Room"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListShortCodesResponse": {
        "description": "Successful response with a list of short codes.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Short Codes Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ShortCode"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListSubNumberOrdersResponse": {
        "description": "Successful response with a list of sub number orders.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Sub Number Orders Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubNumberOrder"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListUacConnectionsResponse": {
        "description": "Successful response with a list of UAC connections.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List UAC Connections Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UacConnection"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/connections_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListUploadsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Uploads Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Upload"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/external-voice-integrations_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "ListUserTagsResponse": {
        "description": "A list of your tags",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "outbound_profile_tags": {
                      "$ref": "#/components/schemas/UserTagList"
                    },
                    "number_tags": {
                      "$ref": "#/components/schemas/UserTagList"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListWebhookDeliveriesResponse": {
        "description": "A paginated array of webhook_delivery attempts",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/webhook_delivery"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMetaSimple"
                }
              }
            }
          }
        }
      },
      "ManagedAccountResponse": {
        "description": "Successful response with information about a single managed account.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ManagedAccount"
                }
              }
            }
          }
        }
      },
      "MediaDownloadResponse": {
        "description": "A response describing a media resource",
        "content": {
          "application/octet-stream": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "MediaResponse": {
        "description": "A response describing a media resource",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Media resource response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MediaResource"
                }
              }
            }
          }
        }
      },
      "MessageResponse": {
        "description": "Successful response with details about a message.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Message Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/OutboundMessagePayload"
                }
              }
            }
          }
        }
      },
      "MessagingHostedNumberOrderResponse": {
        "description": "Successful response with details about a messaging hosted number order.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Messaging Hosted Number Order Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MessagingHostedNumberOrder"
                }
              }
            }
          }
        }
      },
      "MessagingProfileResponse": {
        "description": "Successful response with details about a messaging profile.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Messaging Profile Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MessagingProfile"
                }
              }
            }
          }
        }
      },
      "MobileListPhoneNumbersWithMessagingSettingsResponse": {
        "description": "Successful response with a list of mobile phone numbers with messaging settings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Messaging Settings Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobilePhoneNumberWithMessagingSettings"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "MobilePhoneNumberWithMessagingSettingsResponse": {
        "description": "Successful response with details about a mobile phone number.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Mobile Messaging Settings Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MobilePhoneNumberWithMessagingSettings"
                }
              }
            }
          }
        }
      },
      "NetworkCoverageListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NetworkCoverage"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "NetworkInterfaceListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NetworkInterface"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "NetworkListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Network"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "NetworkResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Network"
                }
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/branded-calling_ErrorResponse"
            }
          }
        }
      },
      "NotFoundErrorResponse": {
        "description": "Billing group not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors"
            }
          }
        }
      },
      "NotFoundResponse": {
        "description": "Resource not found. The requested resource does not exist. Common causes include: invalid call_control_id, conference not found, audio file not found, or recording not found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "examples": {
              "resource_not_found": {
                "summary": "Generic resource not found",
                "value": {
                  "errors": [
                    {
                      "code": "10007",
                      "title": "Resource not found",
                      "detail": "Resource not found"
                    }
                  ]
                }
              },
              "conference_not_found": {
                "summary": "Conference not found",
                "value": {
                  "errors": [
                    {
                      "code": "90058",
                      "title": "Invalid conference_id",
                      "detail": "The conference does not exist."
                    }
                  ]
                }
              },
              "audio_file_not_found": {
                "summary": "Audio file not found",
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Audio file not found",
                      "detail": "Provided audio file URL couldn't be found."
                    }
                  ]
                }
              },
              "recording_not_found": {
                "summary": "Recording not found",
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Recording not found",
                      "detail": "The recording could not be found. Please check the recording_id and try again.",
                      "source": {
                        "pointer": "/recording_id"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "NotFoundResponseApp": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notFound": {
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Resource not found",
                      "detail": "The requested resource or URL could not be found.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10005"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "NumberBlockOrderResponse": {
        "description": "Successful response with details about a number block order.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Number Block Order Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/NumberBlockOrder"
                }
              }
            }
          }
        }
      },
      "NumberLookupResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Number Lookup Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/NumberLookupRecord"
                }
              }
            }
          }
        }
      },
      "NumberOrderPhoneNumberResponse": {
        "description": "Successful response with details about a number order phone number.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Number Order Phone Number Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/NumberOrderPhoneNumber"
                }
              }
            }
          }
        }
      },
      "NumberOrderResponse": {
        "description": "Successful response with details about a number order.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Number Order Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/NumberOrderWithPhoneNumbers"
                }
              }
            }
          }
        }
      },
      "NumberReservationResponse": {
        "description": "Successful response with details about a number reservation.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Number Reservation Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/NumberReservation"
                }
              }
            }
          }
        }
      },
      "OTAUpdateResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CompleteOTAUpdate"
                }
              }
            }
          }
        }
      },
      "OrganizationUserResponse": {
        "description": "Successful response with details about an Organization User.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Organization User Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/OrganizationUser"
                }
              }
            }
          }
        }
      },
      "OutboundVoiceProfileResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Outbound Voice Profile Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/OutboundVoiceProfile"
                }
              }
            }
          }
        }
      },
      "PatchGcbChannelZoneRequestResponse": {
        "description": "Successfuly patched channel zone",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GcbChannelZone"
            }
          }
        }
      },
      "PatchRoomResponse": {
        "description": "Update room response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Room"
                }
              }
            }
          }
        }
      },
      "PhoneNumberResponse": {
        "description": "Successful response with details about a phone number.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Phone Number Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PhoneNumberDetailed"
                }
              }
            }
          }
        }
      },
      "PhoneNumberWithMessagingSettingsResponse": {
        "description": "Successful response with details about a phone number including messaging settings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Messaging Settings Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PhoneNumberWithMessagingSettings"
                }
              }
            }
          }
        }
      },
      "PhoneNumberWithVoiceSettingsResponse": {
        "description": "Successful response with details about a phone number including voice settings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Phone Number Voice Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PhoneNumberWithVoiceSettings"
                }
              }
            }
          }
        }
      },
      "PortOutListSupportingDocumentsResponse": {
        "description": "Portout Supporting Documents",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortOutSupportingDocument"
                  }
                }
              }
            }
          }
        }
      },
      "PortabilityCheckResponse": {
        "description": "PortabilityCheck Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortabilityCheckDetails"
                  }
                }
              }
            }
          }
        }
      },
      "PortoutCommentResponse": {
        "description": "Portout Comment Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortoutComment"
                }
              }
            }
          }
        }
      },
      "PortoutResponse": {
        "description": "Portout Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortoutDetails"
                }
              }
            }
          }
        }
      },
      "PublicInternetGatewayListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicInternetGatewayRead"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "PublicInternetGatewayResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PublicInternetGatewayRead"
                }
              }
            }
          }
        }
      },
      "QueueCallResponse": {
        "description": "Successful response with details about a call in a queue.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Queue Call Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/QueueCall"
                }
              }
            }
          }
        }
      },
      "QueueResponse": {
        "description": "Successful response with details about a queue.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Queue Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Queue"
                }
              }
            }
          }
        }
      },
      "ReadCommentResponse": {
        "description": "A Comment Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ReadComment"
                    },
                    {
                      "type": "object"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "RecordingResponseBody": {
        "description": "A response with a single recording resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RecordingResponse"
            }
          }
        }
      },
      "RecordingTranscriptionResponse": {
        "description": "A response with a single recording transcription resource.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/RecordingTranscription"
                }
              }
            }
          }
        }
      },
      "RecordingsResponseBody": {
        "description": "A response containing multiple recordings.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecordingResponseData"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "RefreshFaxResponse": {
        "description": "Refresh fax response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Refresh Fax Response",
              "example": {
                "data": {
                  "result": "ok"
                }
              },
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "string",
                      "example": "ok"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "RefreshRoomClientTokenResponse": {
        "description": "Refresh room client token response.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string",
                      "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ"
                    },
                    "token_expires_at": {
                      "description": "ISO 8601 timestamp when the token expires.",
                      "type": "string",
                      "format": "date-time",
                      "example": "2021-03-26T17:51:59Z"
                    }
                  },
                  "example": {
                    "token": "eyJhbGciOiJFZDI1NTE5IiwidHlwIjoiSldUIn0.eyJhdWQiOiJ0ZWxueXhfYWNjZXNzX3Rva2VuIiwiZXhwIjoxNjE5MDk0Mjk1LCJncmFudHMiOlt7ImFjdGlvbnMiOlsiam9pbiJdLCJyZXNvdXJjZXMiOlsidGVsbnl4OnZpZGVvOnJvb21zOjllMmEwY2JlLWNlNjYtNDExZS1hMWFjLTQ2OGYwYjEwM2M5YSJdLCJzdWJqZWN0cyI6WyJ0ZWxueXg6dXNlcnM6NzgyYjJjYmUtODQ2Ni00ZTNmLWE0ZDMtOTc4MWViNTc3ZTUwIl19XSwiZ3JhbnRzX3ZlcnNpb24iOiIxLjAuMCIsImlhdCI6MTYxOTA5MzY5NSwiaXNzIjoidGVsbnl4X2FjY2Vzc190b2tlbiIsImp0aSI6IjllNjIyOTA2LTc1ZTctNDBiNi1iOTAwLTc1NGIxZjNlZDMyZiIsIm5iZiI6MTYxOTA5MzY5NCwic3ViIjoibnVsbCIsInR5cCI6ImFjY2VzcyJ9.1JGK9PyHkTtoP_iMu-8TzXH_fhmnsDtZZOAJLDzLW6DDtAb80wZ93l1VH5yNx5tFqwIFG0t48dRiBKWlW-nzDA",
                    "token_expires_at": "2021-04-22T12:24:55Z"
                  }
                }
              }
            }
          }
        }
      },
      "RegionListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/netapps_Region"
                  }
                }
              }
            }
          }
        }
      },
      "RegisterSimCardsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "description": "Successfully registered SIM cards.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SimpleSIMCard"
                  }
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/wireless_Error"
                  }
                }
              }
            }
          }
        }
      },
      "RegistrationStatusResponse": {
        "description": "Successful response with details about a credential connection registration status.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Registration Status Response",
              "properties": {
                "data": {
                  "type": "object",
                  "title": "Registration Status",
                  "properties": {
                    "record_type": {
                      "type": "string",
                      "description": "Identifies the type of the resource.",
                      "example": "registration_status"
                    },
                    "status": {
                      "type": "string",
                      "description": "The current registration status of your SIP connection",
                      "enum": [
                        "Not Applicable",
                        "Not Registered",
                        "Failed",
                        "Expired",
                        "Registered",
                        "Unregistered"
                      ]
                    },
                    "sip_username": {
                      "type": "string",
                      "description": "The user name of the SIP connection",
                      "example": "sip_username"
                    },
                    "ip_address": {
                      "type": "string",
                      "description": "The ip used during the SIP connection",
                      "example": "190.106.106.121"
                    },
                    "transport": {
                      "type": "string",
                      "description": "The protocol of the SIP connection",
                      "example": "TCP"
                    },
                    "port": {
                      "type": "integer",
                      "description": "The port of the SIP connection",
                      "example": 37223
                    },
                    "user_agent": {
                      "type": "string",
                      "description": "The user agent of the SIP connection",
                      "example": "Z 5.4.12 v2.10.13.2-mod"
                    },
                    "last_registration": {
                      "type": "string",
                      "description": "ISO 8601 formatted date indicating when the resource was last updated.",
                      "example": "2018-02-02T22:25:27.521Z"
                    }
                  },
                  "example": {
                    "record_type": "registration_status",
                    "status": "Expired",
                    "sip_username": "rogerp",
                    "ip_address": "190.106.106.121",
                    "transport": "UDP",
                    "port": 37223,
                    "user_agent": "Z 5.4.12 v2.10.13.2-mod",
                    "last_registration": "2021-09-28T15:11:02"
                  }
                }
              }
            }
          }
        }
      },
      "ResourceNotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/documents_Error"
            }
          }
        }
      },
      "ResourceNotFoundErrorResponse": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/customer_service_record_ResourceNotFoundError"
                  }
                }
              }
            }
          }
        }
      },
      "RetrieveCallStatusResponse": {
        "description": "Successful response with details about a call status.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Call Status Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Call"
                }
              }
            }
          }
        }
      },
      "RetrieveCallStatusResponseWithRecordingId": {
        "description": "Successful response with details about a call status that includes recording_id.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Call Status Response With Recording ID",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CallWithRecordingId"
                }
              }
            }
          }
        }
      },
      "SIMCardActionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardAction"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "SIMCardActivationCodeResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardActivationCode"
                }
              }
            }
          }
        }
      },
      "SIMCardDeviceDetailsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardDeviceDetails"
                }
              }
            }
          }
        }
      },
      "SIMCardGroupActionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardGroupAction"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "SIMCardOrdersPreviewResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardOrderPreview"
                }
              }
            }
          }
        }
      },
      "SIMCardPublicIPResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardPublicIP"
                }
              }
            }
          }
        }
      },
      "SearchMobileNetworkOperatorsResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileNetworkOperator"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "SearchOTAUpdateResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SimplifiedOTAUpdate"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "SearchSimCardsResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SimpleSIMCard"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "SendFaxResponse": {
        "description": "Send fax response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Send Fax Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/Fax"
                }
              }
            }
          }
        }
      },
      "ServiceUnavailableErrorResponse": {
        "description": "Service temporarily unavailable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/billing_Errors"
            }
          }
        }
      },
      "ServiceUnavailableResponse": {
        "description": "Service unavailable. The service is temporarily unavailable. This may occur during maintenance or when the service is overloaded.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "10007",
                  "title": "Service unavailable",
                  "detail": "Service unavailable"
                }
              ]
            }
          }
        }
      },
      "SharePortingOrder": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrderSharingToken"
                }
              }
            },
            "example": {
              "data": {
                "id": "03a35311-ad92-46b3-95d7-8ad6dccf2d7c",
                "porting_order_id": "fd4b86c8-497d-4c6d-9609-a789e4e14cfe",
                "expires_in_seconds": 3600,
                "permissions": [
                  "porting_order.document.read",
                  "porting_order.document.update"
                ],
                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODk4OTQ2NzcsImlzdCI6MTY4OTg5MTA3NywicGVybWlzc2lvbnMiOlsicG9ydGluZ19vcmRlci5kb2N1bWVudC5yZWFkIl0sInBvcnRpbmdfb3JkZXJfaWQiOiJmZDRiODZjOC00OTdkLTRjNmQtOTYwOS1hNzg5ZTRlMTRjZmUifQ.CT0HRF6OLj7VPZ8p5Y_0S8rOL8SEUznwJJkR-YReKwc",
                "record_type": "porting_order_sharing_token",
                "expires_at": "2023-07-20T23:11:17Z",
                "created_at": "2023-07-20T22:11:17.292573Z"
              }
            }
          }
        }
      },
      "ShortCodeResponse": {
        "description": "Successful response with details about a short code.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Short Code Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ShortCode"
                }
              }
            }
          }
        }
      },
      "ShowCustomerServiceRecord": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CustomerServiceRecord"
                }
              }
            }
          }
        }
      },
      "ShowPortingActionRequirement": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingActionRequirement"
                }
              }
            }
          }
        }
      },
      "ShowPortingAssociatedPhoneNumber": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingAssociatedPhoneNumber"
                }
              }
            }
          }
        }
      },
      "ShowPortingEventResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingEvent"
                }
              }
            }
          }
        }
      },
      "ShowPortingLOAConfiguration": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingLOAConfiguration"
                }
              }
            }
          }
        }
      },
      "ShowPortingOrder": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrder"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "phone_numbers_url": {
                      "type": "string",
                      "description": "Link to list all phone numbers",
                      "example": "/v2/porting_phone_numbers?filter[porting_order_id]=eef10fb8-f3df-4c67-97c5-e18179723222"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ShowPortingOrdersActivationJob": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrdersActivationJob"
                }
              }
            }
          }
        }
      },
      "ShowPortingOrdersComment": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrdersComment"
                }
              }
            }
          }
        }
      },
      "ShowPortingPhoneNumberBlock": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingPhoneNumberBlock"
                }
              }
            }
          }
        }
      },
      "ShowPortingPhoneNumberExtension": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingPhoneNumberExtension"
                }
              }
            }
          }
        }
      },
      "ShowPortingReport": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingReport"
                }
              }
            }
          }
        }
      },
      "ShowPortoutEventResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortoutEvent"
                }
              }
            }
          }
        }
      },
      "ShowPortoutReport": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortoutReport"
                }
              }
            }
          }
        }
      },
      "SimCardActionCollectionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SIMCardAction"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "SimCardDataUsageNotificationCollectionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SimCardDataUsageNotification"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "SimCardGroupActionCollectionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SIMCardGroupAction"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "SinglePhoneNumberCampaign": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PhoneNumberCampaign"
            }
          }
        }
      },
      "SiprecConnectorResponseBody": {
        "description": "Return details of the SIPREC connector.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SiprecConnectorResponse"
            }
          }
        }
      },
      "SlimListPhoneNumbersResponse": {
        "description": "Successful response with a list of phone numbers.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Phone Numbers Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SlimPhoneNumberDetailed"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "SpecificCountryResponse": {
        "description": "Response for specific country coverage",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/CountryCoverage"
                }
              }
            }
          }
        }
      },
      "SubNumberOrderResponse": {
        "description": "Successful response with details about a sub number order.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Sub Number Order Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SubNumberOrder"
                }
              }
            }
          }
        }
      },
      "SubNumberOrdersReportResponse": {
        "description": "Sub number orders report response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SubNumberOrdersReport"
                }
              }
            }
          }
        }
      },
      "SubRequestByPortingOrder": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/GetSubRequestByPortingOrder"
                }
              }
            }
          }
        }
      },
      "TelephonyCredentialResponse": {
        "description": "Successful response with details about a credential",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Telephony Credential Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/TelephonyCredential"
                }
              }
            }
          }
        }
      },
      "TexmlApplicationResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Texml Application Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/TexmlApplication"
                }
              }
            }
          }
        }
      },
      "TexmlCreateCallRecordingResponse": {
        "description": "Successful call recording create response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateCallRecordingResponseBody"
            }
          }
        }
      },
      "TexmlCreateCallStreamingResponse": {
        "description": "Successful call streaming create response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateCallStreamingResponseBody"
            }
          }
        }
      },
      "TexmlCreateSiprecSessionResponse": {
        "description": "Successful SIPREC session create response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlCreateSiprecSessionResponseBody"
            }
          }
        }
      },
      "TexmlGetCallRecordingResponse": {
        "description": "Retrieves call recording resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlGetCallRecordingResponseBody"
            }
          }
        }
      },
      "TexmlGetCallRecordingsResponse": {
        "description": "Successful Get Call Recordings Response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlGetCallRecordingsResponseBody"
            }
          }
        }
      },
      "TexmlGetRecordingTranscriptionResponse": {
        "description": "Successful get Recording Transcription Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Recording Transcription Response",
              "$ref": "#/components/schemas/TexmlRecordingTranscription"
            }
          }
        }
      },
      "TexmlListRecordingTranscriptionResponse": {
        "description": "Successful list Recording Transcriptions Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "List Recording Transcriptions Response",
              "properties": {
                "transcriptions": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TexmlRecordingTranscription"
                  }
                },
                "end": {
                  "type": "integer",
                  "description": "The number of the last element on the page, zero-indexed",
                  "example": 1
                },
                "first_page_uri": {
                  "type": "string",
                  "format": "uri",
                  "description": "Relative uri to the first page of the query results"
                },
                "previous_page_uri": {
                  "type": "string",
                  "format": "uri",
                  "description": "Relative uri to the previous page of the query results"
                },
                "next_page_uri": {
                  "type": "string",
                  "description": "Relative uri to the next page of the query results",
                  "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Transcriptions.json?PageToken=KRWXZPO&PageSize=1"
                },
                "page": {
                  "type": "integer",
                  "description": "Current page number, zero-indexed.",
                  "example": 0
                },
                "page_size": {
                  "type": "integer",
                  "description": "The number of items on the page",
                  "example": 20
                },
                "start": {
                  "type": "integer",
                  "description": "The number of the first element on the page, zero-indexed.",
                  "example": 0
                },
                "uri": {
                  "type": "string",
                  "description": "The URI of the current page.",
                  "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Transcriptions.json?PageToken=YTBNAXPI&PageSize=1"
                }
              }
            }
          }
        }
      },
      "TexmlUpdateCallStreamingResponse": {
        "description": "Successful call streaming update response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlUpdateCallStreamingResponseBody"
            }
          }
        }
      },
      "TexmlUpdateSiprecSessionResponse": {
        "description": "Successful SIPREC session update response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TexmlUpdateSiprecSessionResponseBody"
            }
          }
        }
      },
      "UacConnectionResponse": {
        "description": "Successful response with details about a UAC connection.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "UAC Connection Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/UacConnection"
                }
              }
            }
          }
        }
      },
      "UnauthenticatedResponse": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "Authentication Failed": {
                "value": {
                  "errors": [
                    {
                      "code": "10009",
                      "title": "Authentication failed",
                      "detail": "Could not understand the provided credentials.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10009"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized — missing or invalid API key",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/branded-calling_ErrorResponse"
            }
          }
        }
      },
      "UnauthorizedErrorResponse": {
        "description": "Authentication required or invalid credentials",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "UnauthorizedRequestErrorResponse": {
        "description": "Unauthorized Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/verified-numbers_Errors"
            }
          }
        }
      },
      "UnauthorizedResponse": {
        "description": "Unauthorized. Authentication failed - the required authentication headers were either invalid or not included in the request.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "10009",
                  "title": "Authentication failed",
                  "detail": "The required authentication headers were either invalid or not included in the request.",
                  "meta": {
                    "url": "https://developers.telnyx.com/docs/overview/errors/10009"
                  }
                }
              ]
            }
          }
        }
      },
      "UnexpectedErrorResponse": {
        "description": "An unexpected error occurred.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnexpectedError"
                  }
                }
              }
            }
          }
        }
      },
      "UnprocessableEntity": {
        "description": "Unprocessable entity — request structure is valid but contains semantic errors",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/branded-calling_ErrorResponse"
            }
          }
        }
      },
      "UnprocessableEntityErrorResponse": {
        "description": "Invalid request data",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors"
            }
          }
        }
      },
      "UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but could not be processed due to semantic errors. This includes validation errors, invalid parameter values, call state errors, conference errors, queue errors, recording/transcription errors, and business logic violations.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            },
            "examples": {
              "missing_required_parameter": {
                "summary": "Missing required parameter",
                "value": {
                  "errors": [
                    {
                      "code": "10004",
                      "title": "Missing required parameter",
                      "detail": "The 'to' parameter is required and cannot be blank.",
                      "source": {
                        "pointer": "/to"
                      }
                    }
                  ]
                }
              },
              "invalid_call_control_id": {
                "summary": "Invalid call control ID",
                "value": {
                  "errors": [
                    {
                      "code": "90015",
                      "title": "Invalid Call Control ID",
                      "detail": "The call_control_id provided was not valid.",
                      "source": {
                        "pointer": "/call_control_id"
                      }
                    }
                  ]
                }
              },
              "call_already_ended": {
                "summary": "Call has already ended",
                "value": {
                  "errors": [
                    {
                      "code": "90018",
                      "title": "Call has already ended",
                      "detail": "This call is no longer active and can't receive commands."
                    }
                  ]
                }
              },
              "call_not_answered": {
                "summary": "Call not answered yet",
                "value": {
                  "errors": [
                    {
                      "code": "90034",
                      "title": "Call not answered yet",
                      "detail": "This call can't receive this command because it has not been answered yet."
                    }
                  ]
                }
              },
              "cannot_record_before_audio_started": {
                "summary": "Cannot record before audio started",
                "value": {
                  "errors": [
                    {
                      "code": "90020",
                      "title": "Call recording triggered before audio started",
                      "detail": "Call recording cannot be started until audio has commenced on the call."
                    }
                  ]
                }
              },
              "transcription_already_active": {
                "summary": "Transcription already active",
                "value": {
                  "errors": [
                    {
                      "code": "90054",
                      "title": "Call transcription is already in progress",
                      "detail": "Call transcription can not be started more than once."
                    }
                  ]
                }
              },
              "ai_assistant_already_active": {
                "summary": "AI Assistant already active",
                "value": {
                  "errors": [
                    {
                      "code": "90061",
                      "title": "AI Assistant is already in progress",
                      "detail": "AI Assistant cannot be started more than once."
                    }
                  ]
                }
              },
              "conference_already_ended": {
                "summary": "Conference has already ended",
                "value": {
                  "errors": [
                    {
                      "code": "90019",
                      "title": "Conference has already ended",
                      "detail": "This conference is no longer active and can't receive commands."
                    }
                  ]
                }
              },
              "conference_name_conflict": {
                "summary": "Conference name conflict",
                "value": {
                  "errors": [
                    {
                      "code": "90033",
                      "title": "Unable to execute command",
                      "detail": "Conference with given name already exists and it's active."
                    }
                  ]
                }
              },
              "max_participants_reached": {
                "summary": "Maximum participants reached",
                "value": {
                  "errors": [
                    {
                      "code": "90032",
                      "title": "Maximum number of participants reached",
                      "detail": "The maximum allowed value of `max_participants` has been reached at 100."
                    }
                  ]
                }
              },
              "queue_full": {
                "summary": "Queue is full",
                "value": {
                  "errors": [
                    {
                      "code": "90036",
                      "title": "Queue full",
                      "detail": "The 'support' queue is full and can't accept more calls."
                    }
                  ]
                }
              },
              "call_already_in_queue": {
                "summary": "Call already in queue",
                "value": {
                  "errors": [
                    {
                      "code": "90038",
                      "title": "Call already in queue",
                      "detail": "Call can't be added to a queue it's already in."
                    }
                  ]
                }
              },
              "invalid_connection_id": {
                "summary": "Invalid connection ID",
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Invalid value for connection_id (Call Control App ID)",
                      "detail": "The requested connection_id (Call Control App ID) is either invalid or does not exist. Only Call Control Apps with valid webhook URL are accepted.",
                      "source": {
                        "pointer": "/connection_id"
                      }
                    }
                  ]
                }
              },
              "invalid_phone_number_format": {
                "summary": "Invalid phone number format",
                "value": {
                  "errors": [
                    {
                      "code": "10016",
                      "title": "Phone number must be in +E164 format",
                      "detail": "The 'to' parameter must be in E164 format.",
                      "source": {
                        "pointer": "/to"
                      }
                    }
                  ]
                }
              },
              "srtp_not_supported_for_pstn": {
                "summary": "SRTP not supported for PSTN calls",
                "value": {
                  "errors": [
                    {
                      "source": {
                        "pointer": "/media_encryption"
                      },
                      "title": "Media encryption not supported for PSTN calls",
                      "detail": "SRTP media encryption is not supported for PSTN calls.",
                      "code": "10011"
                    }
                  ]
                }
              },
              "fork_not_found": {
                "summary": "Call is not forked",
                "value": {
                  "errors": [
                    {
                      "code": "90031",
                      "title": "Call is not currently forked",
                      "detail": "Can't stop forking, because the call isn't currently forked."
                    }
                  ]
                }
              },
              "media_streaming_used": {
                "summary": "Media streaming in use",
                "value": {
                  "errors": [
                    {
                      "code": "90045",
                      "title": "Media Streaming is used",
                      "detail": "This command can't be issued when media streaming is used."
                    }
                  ]
                }
              },
              "invalid_enumerated_value": {
                "summary": "Invalid enumerated value",
                "value": {
                  "errors": [
                    {
                      "code": "10032",
                      "title": "Invalid enumerated value",
                      "detail": "The value must be one of: dual, single.",
                      "source": {
                        "pointer": "/record_channels"
                      }
                    }
                  ]
                }
              },
              "value_outside_range": {
                "summary": "Value outside of range",
                "value": {
                  "errors": [
                    {
                      "code": "10033",
                      "title": "Value outside of range",
                      "detail": "The value is outside of allowed range 1 to 5000",
                      "source": {
                        "pointer": "/max_participants"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "UnprocessableManagedAccountEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnprocessableEntityError"
                  }
                }
              }
            }
          }
        }
      },
      "UpdateManagedAccountGlobalChannelLimitResponse": {
        "description": "Successful response with information about the allocatable global outbound channels for the given account.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SingleManagedAccountGlobalOutboundChannels"
                }
              }
            }
          }
        }
      },
      "UpdatePortingLOAConfiguration": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingLOAConfiguration"
                }
              }
            }
          }
        }
      },
      "UpdatePortingOrderResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/PortingOrder"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "phone_numbers_url": {
                      "type": "string",
                      "description": "Link to list all phone numbers"
                    }
                  }
                }
              },
              "example": {
                "data": {
                  "activation_settings": {
                    "activation_status": null,
                    "fast_port_eligible": true,
                    "foc_datetime_actual": null,
                    "foc_datetime_requested": "2022-04-08T15:00:00Z"
                  },
                  "created_at": "2022-03-24T14:22:28Z",
                  "customer_reference": "Test1234",
                  "customer_group_reference": "Group-789",
                  "description": "FP Telnyx",
                  "documents": {
                    "loa": null,
                    "invoice": null
                  },
                  "end_user": {
                    "admin": {
                      "account_number": "123abc",
                      "auth_person_name": "Porter McPortersen II",
                      "billing_phone_number": "+13035551234",
                      "business_identifier": "abc123",
                      "entity_name": "Porter McPortersen",
                      "pin_passcode": "1234",
                      "tax_identifier": "1234abcd"
                    },
                    "location": {
                      "administrative_area": "TX",
                      "country_code": "US",
                      "extended_address": "14th Floor",
                      "locality": "Austin",
                      "postal_code": "78701",
                      "street_address": "600 Congress Avenue"
                    }
                  },
                  "id": "eef10fb8-f3df-4c67-97c5-e18179723222",
                  "misc": {
                    "new_billing_phone_number": null,
                    "remaining_numbers_action": null,
                    "type": "full"
                  },
                  "old_service_provider_ocn": "Unreal Communications",
                  "parent_support_key": null,
                  "phone_number_configuration": {
                    "billing_group_id": null,
                    "connection_id": "1752379429071357070",
                    "emergency_address_id": null,
                    "messaging_profile_id": null,
                    "tags": []
                  },
                  "phone_number_type": "local",
                  "porting_phone_numbers_count": 1,
                  "record_type": "porting_order",
                  "requirements": [],
                  "requirements_met": false,
                  "status": {
                    "details": [],
                    "value": "draft"
                  },
                  "support_key": null,
                  "updated_at": "2022-03-24T14:26:53Z",
                  "user_feedback": {
                    "user_comment": null,
                    "user_rating": null
                  },
                  "messaging": {
                    "messaging_capable": true,
                    "enable_messaging": true,
                    "messaging_port_status": "pending",
                    "messaging_port_completed": false
                  },
                  "user_id": "40d68ba2-0847-4df2-be9c-b0e0cb673e75",
                  "webhook_url": "https://example.com/porting_webhooks"
                },
                "meta": {
                  "phone_numbers_url": "/v2/porting_phone_numbers?filter[porting_order_id]=eef10fb8-f3df-4c67-97c5-e18179723222"
                }
              }
            }
          }
        }
      },
      "UpdateSimCardDataUsageNotificationResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SimCardDataUsageNotification"
                }
              }
            }
          }
        }
      },
      "UpdateSimCardGroupResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCardGroup"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "UpdateSimCardResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/SIMCard"
                }
              }
            }
          }
        }
      },
      "UpdateTrafficPolicyProfileResponse": {
        "description": "Successful Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/TrafficPolicyProfile"
                }
              }
            }
          }
        }
      },
      "UpdateWirelessBlocklistResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WirelessBlocklist"
                }
              }
            }
          }
        }
      },
      "UserAddressResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/UserAddress"
                }
              }
            }
          }
        }
      },
      "UserBalanceResponse": {
        "description": "Get user balance details",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/UserBalance"
                }
              }
            }
          }
        }
      },
      "UsersGroupsReportResponse": {
        "description": "Successful response with a list of organization users and their group memberships.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Users Groups Report Response",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationUserWithGroups"
                  }
                }
              }
            },
            "example": {
              "data": [
                {
                  "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                  "record_type": "organization_sub_user",
                  "email": "user@example.com",
                  "user_status": "enabled",
                  "organization_user_bypasses_sso": false,
                  "created_at": "2018-02-02T22:25:27.521Z",
                  "last_sign_in_at": "2018-02-02T22:25:27.521Z",
                  "groups": [
                    {
                      "id": "7b09cdc3-8948-47f0-aa62-74ac943d6c59",
                      "name": "Engineering"
                    },
                    {
                      "id": "8c09cdc3-8948-47f0-aa62-74ac943d6c60",
                      "name": "Sales"
                    }
                  ]
                },
                {
                  "id": "9d09cdc3-8948-47f0-aa62-74ac943d6c61",
                  "record_type": "organization_owner",
                  "email": "owner@example.com",
                  "user_status": "enabled",
                  "organization_user_bypasses_sso": false,
                  "created_at": "2018-01-01T00:00:00.000Z",
                  "last_sign_in_at": "2018-02-02T22:25:27.521Z",
                  "groups": []
                }
              ]
            }
          },
          "text/csv": {
            "schema": {
              "type": "string",
              "description": "CSV formatted report of users and their groups. Columns: id, email, user_status, created_at, last_sign_in_at, groups (comma-separated list of group names)."
            },
            "example": "id,email,user_status,created_at,last_sign_in_at,groups\n6a09cdc3-8948-47f0-aa62-74ac943d6c58,user@example.com,enabled,2018-02-02T22:25:27.521Z,2018-02-02T22:25:27.521Z,\"Engineering, Sales\""
          }
        }
      },
      "ValidateAddressResponse": {
        "description": "Action response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Validate address action response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ValidateAddressResult"
                }
              }
            }
          }
        }
      },
      "ValidationCodesResponse": {
        "description": "Successful response with the phone numbers and their respective status of the validation codes.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "Retrieve Messaging Hosted Number Response",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ValidationCodes"
                }
              }
            }
          }
        }
      },
      "VerifyPortingVerificationCodes": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortingVerificationCode"
                  }
                }
              },
              "example": {
                "data": [
                  {
                    "id": "52090326-6533-4421-bcf4-bd0117cf3954",
                    "phone_number": "+61424000001",
                    "verified": true,
                    "porting_order_id": "f28e6ecc-29a8-430b-bd0b-d93055f70604",
                    "created_at": "2020-10-22T15:00:00.000Z",
                    "updated_at": "2020-10-22T15:00:00.000Z"
                  },
                  {
                    "id": "cf076b8e-645b-4040-8209-543c5909775f",
                    "phone_number": "+61424000002",
                    "verified": false,
                    "porting_order_id": "f28e6ecc-29a8-430b-bd0b-d93055f70604",
                    "created_at": "2020-10-22T15:00:00.000Z",
                    "updated_at": "2020-10-22T15:00:00.000Z"
                  }
                ]
              }
            }
          }
        }
      },
      "VirtualCrossConnectCoverageListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualCrossConnectCoverage"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "VirtualCrossConnectListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualCrossConnectCombined"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "VirtualCrossConnectResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/VirtualCrossConnectCombined"
                }
              }
            }
          }
        }
      },
      "VoicemailResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/VoicemailPrefResponse"
                }
              }
            }
          }
        }
      },
      "WabaSettingsResponse": {
        "description": "Successful response with Whatsapp business account settings",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WabaSettings"
                }
              }
            }
          }
        }
      },
      "WabaSingleResponse": {
        "description": "Successful response with Whatsapp business account",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WabaResponse"
                }
              }
            }
          }
        }
      },
      "WabasListResponse": {
        "description": "Successful response with list of Whatsapp business accounts",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WabaResponse"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "WhatsappCallingSettingsResponse": {
        "description": "Successful response with Whatsapp calling settings",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WhatsappCallingSettingsData"
                }
              }
            }
          }
        }
      },
      "WhatsappPhonesListResponse": {
        "description": "Successful response with Whatsapp phone numbers",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WhatsappPhoneResponse"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "WhatsappProfileSingleResponse": {
        "description": "Successful response with Whatsapp profile",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WhatsappProfileData"
                }
              }
            }
          }
        }
      },
      "WhatsappTemplateListResponse": {
        "description": "Successful response with Whatsapp template",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WhatsappTemplateData"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/messaging_PaginationMeta"
                }
              }
            }
          }
        }
      },
      "WhatsappTemplateSingleResponse": {
        "description": "Successful response with Whatsapp template",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WhatsappTemplateData"
                }
              }
            }
          }
        }
      },
      "WhatsappUserDataResponse": {
        "description": "Successful response with Whatsapp user data",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WhatsappUserData"
                }
              }
            }
          }
        }
      },
      "WireguardInterfaceListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WireguardInterfaceRead"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "WireguardInterfaceResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WireguardInterfaceRead"
                }
              }
            }
          }
        }
      },
      "WireguardPeerListResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WireguardPeer"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "WireguardPeerResponse": {
        "description": "Successful response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/WireguardPeer"
                }
              }
            }
          }
        }
      },
      "WirelessConnectivityLogCollectionResponse": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WirelessConnectivityLog"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        },
        "description": "Successful Response"
      },
      "billing_ForbiddenErrorResponse": {
        "description": "Insufficient permissions to access balance information",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/billing_Errors"
            }
          }
        }
      },
      "billing_UnprocessableEntityErrorResponse": {
        "description": "Invalid or missing account information",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/billing_Errors"
            }
          }
        }
      },
      "bundle-pricing_BadRequestErrorResponse": {
        "description": "Invalid request parameters",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "bundle-pricing_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "bundle-pricing_NotFoundErrorResponse": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "bundle-pricing_UnprocessableEntityErrorResponse": {
        "description": "Request cannot be processed",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "call-control_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-control_Errors"
            }
          }
        }
      },
      "call-recordings_GenericErrorResponse": {
        "description": "Unexpected error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-recordings_Errors"
            }
          }
        }
      },
      "call-recordings_InternalServerErrorResponse": {
        "description": "Internal server error. An unexpected error occurred on the server.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-recordings_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "500",
                  "title": "Internal Server Error",
                  "detail": "Internal server error"
                }
              ]
            }
          }
        }
      },
      "call-recordings_NotFoundResponse": {
        "description": "Resource not found. The requested resource or URL could not be found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-recordings_Errors"
            },
            "examples": {
              "not_found": {
                "summary": "Generic not found",
                "value": {
                  "errors": [
                    {
                      "code": "404",
                      "title": "Not Found",
                      "detail": "Page not found"
                    }
                  ]
                }
              },
              "connection_not_found": {
                "summary": "Connection not found",
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Resource not found",
                      "detail": "The requested resource or URL could not be found.",
                      "source": {
                        "pointer": "/connection_id"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "call-recordings_UnauthorizedResponse": {
        "description": "Unauthorized. The request lacks valid authentication credentials.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-recordings_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "401",
                  "title": "Unauthorized",
                  "detail": "Unauthorized"
                }
              ]
            }
          }
        }
      },
      "call-scripting_BadRequestResponse": {
        "description": "Bad request. The request could not be understood or was missing required parameters.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "conference_ended": {
                "summary": "Conference already ended",
                "value": {
                  "errors": [
                    {
                      "code": "90019",
                      "title": "Conference has already ended",
                      "detail": "This conference is no longer active and can't receive commands."
                    }
                  ]
                }
              },
              "participant_on_hold": {
                "summary": "Participant on hold",
                "value": {
                  "errors": [
                    {
                      "code": "90047",
                      "title": "Participant on hold",
                      "detail": "This participant is on hold"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "call-scripting_NotFoundResponse": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/call-scripting_ResourceNotFoundError"
            }
          }
        }
      },
      "call-scripting_UnauthorizedResponse": {
        "description": "The user doesn't have the required permissions to perform the requested action.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notAuthorized": {
                "value": {
                  "errors": [
                    {
                      "code": "10010",
                      "title": "Not authorized",
                      "detail": "You are not authorized to access the requested resource.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10010"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "call-scripting_UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but contains semantic errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missing_required_parameter": {
                "summary": "Missing required parameter",
                "value": {
                  "errors": [
                    {
                      "code": "10004",
                      "title": "Missing required parameter",
                      "detail": "Can't be blank: ApplicationId",
                      "source": {
                        "pointer": "/ApplicationId"
                      }
                    }
                  ]
                }
              },
              "invalid_parameter_type": {
                "summary": "Invalid parameter type",
                "value": {
                  "errors": [
                    {
                      "code": "10026",
                      "title": "Invalid parameter type",
                      "detail": "The 'To' parameter must be of type 'string'",
                      "source": {
                        "pointer": "/To"
                      }
                    }
                  ]
                }
              },
              "invalid_enumerated_value": {
                "summary": "Invalid enumerated value",
                "value": {
                  "errors": [
                    {
                      "code": "10032",
                      "title": "Invalid enumerated value",
                      "detail": "Status must be one of completed",
                      "source": {
                        "pointer": "/Status"
                      }
                    }
                  ]
                }
              },
              "invalid_send_digits": {
                "summary": "Invalid SendDigits format",
                "value": {
                  "errors": [
                    {
                      "code": "90014",
                      "title": "Invalid value for SendDigits",
                      "detail": "The 'SendDigits' parameter must be a 'string' made of a combination of either 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, w, W, * or #",
                      "source": {
                        "pointer": "/SendDigits"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "charges_BadRequestErrorResponse": {
        "description": "Invalid request parameters or date range",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/charges_Errors"
            }
          }
        }
      },
      "charges_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/charges_Errors"
            }
          }
        }
      },
      "charges_UnprocessableEntityErrorResponse": {
        "description": "User account not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/charges_Errors"
            }
          }
        }
      },
      "connections_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missingParameter": {
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Bad Request",
                      "detail": "The request failed because it was not well-formed.",
                      "source": {
                        "pointer": "/"
                      },
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "connections_NotFoundResponse": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notFound": {
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Resource not found",
                      "detail": "The requested resource or URL could not be found.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10005"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "connections_UnauthorizedResponse": {
        "description": "The user doesn't have the required permissions to perform the requested action.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notAuthorized": {
                "value": {
                  "errors": [
                    {
                      "code": "10010",
                      "title": "Not authorized",
                      "detail": "You are not authorized to access the requested resource.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10010"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "connections_UnprocessableEntityResponse": {
        "description": "The request was well-formed but was unable to be followed due to semantic errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "unprocessableEntity": {
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Bad Request",
                      "detail": "Invalid dnis_format: test, was provided. Acceptable formats are +e164, e164, national, sip_username",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                      },
                      "source": {
                        "pointer": "/inbound/dnis_number_format"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "customer_service_record_ForbiddenErrorResponse": {
        "description": "You do not have permission to perform the requested action on the specified resource or resources.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForbiddenError"
                  }
                }
              }
            }
          }
        }
      },
      "customer_service_record_UnauthorizedErrorResponse": {
        "description": "The required authentication headers were either invalid or not included in the request.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnauthorizedError"
                  }
                }
              }
            }
          }
        }
      },
      "customer_service_record_UnprocessableEntityErrorResponse": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/customer_service_record_UnprocessableEntityError"
                  }
                }
              }
            }
          }
        }
      },
      "documents_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/documents_Errors"
            }
          }
        }
      },
      "documents_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/documents_Errors"
            }
          }
        }
      },
      "emergency_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/emergency_Errors"
            }
          }
        }
      },
      "emergency_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/emergency_Errors"
            }
          }
        }
      },
      "emergency_NotFoundResponse": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/emergency_Errors"
            }
          }
        }
      },
      "emergency_UnauthorizedResponse": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/emergency_Errors"
            }
          }
        }
      },
      "emergency_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/emergency_Errors"
            }
          }
        }
      },
      "invoice_ForbiddenErrorResponse": {
        "description": "Insufficient permissions to access invoices",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/invoice_Errors"
            }
          }
        }
      },
      "invoice_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/invoice_Errors"
            }
          }
        }
      },
      "invoice_NotFoundErrorResponse": {
        "description": "Invoice not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/invoice_Errors"
            }
          }
        }
      },
      "listCommentsResponse": {
        "description": "An array of Comment Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "listDynamicEmergencyAddresses": {
        "description": "Dynamic Emergency Address Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicEmergencyAddress"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          }
        }
      },
      "listDynamicEmergencyEndpoints": {
        "description": "Dynamic Emergency Endpoints Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicEmergencyEndpoint"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          }
        }
      },
      "listRegulatoryRequirements": {
        "description": "An array of Regulatory Requirements Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegulatoryRequirements"
                  }
                }
              }
            }
          }
        }
      },
      "listRegulatoryRequirementsPhoneNumbers": {
        "description": "An array of Regulatory Requirements Responses",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegulatoryRequirementsPhoneNumbers"
                  }
                },
                "meta": {
                  "$ref": "#/components/schemas/PaginationMeta"
                }
              }
            }
          }
        }
      },
      "managed-accounts_ForbiddenResponse": {
        "description": "Unauthorized response. Happens when the current user is not authorized to access the endpoint."
      },
      "managed-accounts_UnauthorizedResponse": {
        "description": "Unauthenticated response. Happens when the current user cannot be authenticated."
      },
      "media-storage_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/media-storage_Errors"
            }
          }
        }
      },
      "media-streaming_GenericErrorResponse": {
        "description": "Unexpected error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/media-streaming_Errors"
            }
          }
        }
      },
      "media-streaming_NotFoundResponse": {
        "description": "Resource not found. The requested resource or URL could not be found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/media-streaming_Errors"
            },
            "examples": {
              "not_found": {
                "summary": "Generic not found",
                "value": {
                  "errors": [
                    {
                      "code": "404",
                      "title": "Not Found",
                      "detail": "Page not found"
                    }
                  ]
                }
              },
              "connection_not_found": {
                "summary": "Connection not found",
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Resource not found",
                      "detail": "The Dialogflow connection for the specified connection_id could not be found.",
                      "source": {
                        "pointer": "/connection_id"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "media-streaming_UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but contains semantic errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/media-streaming_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "422",
                  "title": "Unprocessable Entity",
                  "detail": "The request parameters failed validation.",
                  "source": {
                    "pointer": "/service_account"
                  }
                }
              ]
            }
          }
        }
      },
      "messaging_BadRequestResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/messaging_Errors"
            }
          }
        }
      },
      "messaging_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/messaging_Errors"
            }
          }
        }
      },
      "messaging_NotFoundResponse": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/messaging_Errors"
            }
          }
        }
      },
      "messaging_UnauthorizedResponse": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/messaging_Errors"
            }
          }
        }
      },
      "messaging_UnprocessableEntityResponse": {
        "description": "Unprocessable Entity",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/messaging_Errors"
            }
          }
        }
      },
      "netapps_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/netapps_Errors"
            }
          }
        }
      },
      "netapps_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/netapps_Errors"
            }
          }
        }
      },
      "notifications_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/notifications_Errors"
            }
          }
        }
      },
      "notifications_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/notifications_Errors"
            }
          }
        }
      },
      "notifications_NotFoundResponse": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/notifications_Errors"
            }
          }
        }
      },
      "notifications_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/notifications_Errors"
            }
          }
        }
      },
      "number-lookup_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/number-lookup_Errors"
            }
          }
        }
      },
      "number-lookup_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/number-lookup_Errors"
            }
          }
        }
      },
      "numbers_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            }
          }
        }
      },
      "numbers_ForbiddenResponse": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            },
            "examples": {
              "Not authorized": {
                "$ref": "#/components/examples/NotAuthorized"
              }
            }
          }
        }
      },
      "numbers_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            }
          }
        }
      },
      "numbers_NotFoundResponse": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            }
          }
        }
      },
      "numbers_UnauthorizedResponse": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            },
            "examples": {
              "Authentication Failed": {
                "value": {
                  "errors": [
                    {
                      "code": "10009",
                      "title": "Authentication failed",
                      "detail": "Could not understand the provided credentials.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10009"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "numbers_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/numbers_Errors"
            }
          }
        }
      },
      "programmable-fax_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missingParameter": {
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Bad Request",
                      "detail": "The request failed because it was not well-formed.",
                      "source": {
                        "pointer": "/"
                      },
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "programmable-fax_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/programmable-fax_Errors"
            }
          }
        }
      },
      "programmable-fax_NotFoundResponse": {
        "description": "The requested resource does not exist",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/programmable-fax_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "404",
                  "title": "Not Found",
                  "detail": "The requested resource does not exist"
                }
              ]
            }
          }
        }
      },
      "programmable-fax_UnauthorizedResponse": {
        "description": "Unauthorized"
      },
      "programmable-fax_UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but contains semantic errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/programmable-fax_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": "422",
                  "title": "Unprocessable Entity",
                  "detail": "The request parameters failed validation"
                }
              ]
            }
          }
        }
      },
      "siprec_GenericErrorResponse": {
        "description": "Unexpected error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/siprec_Errors"
            }
          }
        }
      },
      "siprec_NotFoundResponse": {
        "description": "The requested resource does not exist",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/siprec_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": 404,
                  "title": "Not Found",
                  "detail": "The requested resource does not exist"
                }
              ]
            }
          }
        }
      },
      "siprec_UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but contains semantic errors.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/siprec_Errors"
            },
            "example": {
              "errors": [
                {
                  "code": 422,
                  "title": "Unprocessable Entity",
                  "detail": "The request parameters failed validation"
                }
              ]
            }
          }
        }
      },
      "speech-to-text_UnprocessableEntityResponse": {
        "description": "Unprocessable entity. The request was well-formed but could not be processed due to semantic errors. This includes validation errors, invalid parameter values and business logic violations.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/speech-to-text_Errors"
            },
            "examples": {
              "missing_required_parameter": {
                "summary": "Missing required parameter",
                "value": {
                  "errors": [
                    {
                      "code": "10004",
                      "title": "Missing required parameter",
                      "detail": "The 'transcription_engine' parameter is required and cannot be blank.",
                      "source": {
                        "pointer": "/transcription_engine"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "toll-free-verification_GenericErrorResponse": {
        "description": "Generic error response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/toll-free-verification_Errors"
            }
          }
        }
      },
      "users_BadRequestResponse": {
        "description": "Bad request, the request was unacceptable, often due to missing a required parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "missingParameter": {
                "value": {
                  "errors": [
                    {
                      "code": "10015",
                      "title": "Bad Request",
                      "detail": "The request failed because it was not well-formed.",
                      "source": {
                        "pointer": "/"
                      },
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10015"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "users_NotFoundResponse": {
        "description": "The requested resource doesn't exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notFound": {
                "value": {
                  "errors": [
                    {
                      "code": "10005",
                      "title": "Resource not found",
                      "detail": "The requested resource or URL could not be found.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10005"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "users_UnauthorizedResponse": {
        "description": "The user doesn't have the required permissions to perform the requested action.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "examples": {
              "notAuthorized": {
                "value": {
                  "errors": [
                    {
                      "code": "10010",
                      "title": "Not authorized",
                      "detail": "You are not authorized to access the requested resource.",
                      "meta": {
                        "url": "https://developers.telnyx.com/docs/overview/errors/10010"
                      },
                      "source": {
                        "pointer": "/"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "verified-numbers_GenericErrorResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/verified-numbers_Errors"
            }
          }
        }
      },
      "verified-numbers_NotFoundErrorResponse": {
        "description": "Resource Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/verified-numbers_Errors"
            }
          }
        }
      },
      "verified-numbers_UnprocessableEntityErrorResponse": {
        "description": "Unprocessable Entity",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/verified-numbers_Errors"
            }
          }
        }
      },
      "verify_GenericErrorResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/verify_Errors"
            }
          }
        }
      },
      "video_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": false
                },
                "message": {
                  "type": "string",
                  "example": "Error"
                }
              }
            }
          }
        }
      },
      "video_ResourceNotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/video_Error"
            }
          }
        }
      },
      "video_UnauthorizedResponse": {
        "description": "Unauthorized"
      },
      "video_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/video_Errors"
            }
          }
        }
      },
      "voice-channels_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/voice-channels_Errors"
            }
          }
        }
      },
      "wireless_GenericErrorResponse": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/wireless_Errors"
            }
          }
        }
      },
      "wireless_ResourceNotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/wireless_Error"
            }
          }
        }
      },
      "wireless_UnprocessableEntity": {
        "description": "Unprocessable entity. Check the 'detail' field in response for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/wireless_Errors"
            }
          }
        }
      }
    },
    "schemas": {
      "10dlc_Error": {
        "required": [
          "code",
          "title"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          }
        }
      },
      "10dlc_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/10dlc_Error"
            }
          }
        },
        "type": "object"
      },
      "10dlc_TaskStatus": {
        "title": "TaskStatus",
        "enum": [
          "pending",
          "processing",
          "completed",
          "failed"
        ],
        "type": "string",
        "description": "An enumeration."
      },
      "AIAssistantAddMessagesRequest": {
        "type": "object",
        "title": "AI Assistant Add Messages Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "messages": {
            "description": "The messages to add to the conversation.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UserMessage"
                },
                {
                  "$ref": "#/components/schemas/AssistantMessage"
                },
                {
                  "$ref": "#/components/schemas/ToolMessage"
                },
                {
                  "$ref": "#/components/schemas/SystemMessage"
                },
                {
                  "$ref": "#/components/schemas/DeveloperMessage"
                }
              ],
              "discriminator": {
                "propertyName": "role",
                "mapping": {
                  "user": "#/components/schemas/UserMessage",
                  "assistant": "#/components/schemas/AssistantMessage",
                  "tool": "#/components/schemas/ToolMessage",
                  "system": "#/components/schemas/SystemMessage",
                  "developer": "#/components/schemas/DeveloperMessage"
                }
              }
            }
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "messages": [
            {
              "role": "system",
              "content": "Get the user's favorite color"
            }
          ]
        }
      },
      "AIAssistantJoinParticipant": {
        "type": "object",
        "required": [
          "id",
          "role"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The call_control_id of the participant to add to the conversation.",
            "example": "v3:abc123def456"
          },
          "role": {
            "type": "string",
            "description": "The role of the participant in the conversation.",
            "enum": [
              "user"
            ],
            "example": "user"
          },
          "name": {
            "type": "string",
            "description": "Display name for the participant.",
            "example": "John Doe"
          },
          "on_hangup": {
            "type": "string",
            "description": "Determines what happens to the conversation when this participant hangs up.",
            "enum": [
              "continue_conversation",
              "end_conversation"
            ],
            "default": "continue_conversation",
            "example": "continue_conversation"
          }
        }
      },
      "AIAssistantJoinRequest": {
        "type": "object",
        "required": [
          "conversation_id",
          "participant"
        ],
        "properties": {
          "conversation_id": {
            "type": "string",
            "description": "The ID of the AI assistant conversation to join.",
            "example": "v3:abc123"
          },
          "participant": {
            "$ref": "#/components/schemas/AIAssistantJoinParticipant"
          },
          "client_state": {
            "type": "string",
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "type": "string",
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        }
      },
      "AIAssistantStartRequest": {
        "type": "object",
        "properties": {
          "assistant": {
            "$ref": "#/components/schemas/CallAssistantRequest"
          },
          "voice": {
            "$ref": "#/components/schemas/VoiceConfig"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "greeting": {
            "description": "Text that will be played when the assistant starts, if none then nothing will be played when the assistant starts. The greeting can be text for any voice or SSML for `AWS.Polly.<voice_id>` voices. There is a 3,000 character limit.",
            "type": "string",
            "example": "Hello, can you tell me your age and where you live?"
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/InterruptionSettings"
          },
          "transcription": {
            "$ref": "#/components/schemas/TranscriptionConfig"
          },
          "message_history": {
            "type": "array",
            "description": "A list of messages to seed the conversation history before the assistant starts. Follows the same message format as the `ai_assistant_add_messages` command.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UserMessage"
                },
                {
                  "$ref": "#/components/schemas/AssistantMessage"
                },
                {
                  "$ref": "#/components/schemas/ToolMessage"
                },
                {
                  "$ref": "#/components/schemas/SystemMessage"
                },
                {
                  "$ref": "#/components/schemas/DeveloperMessage"
                }
              ],
              "discriminator": {
                "propertyName": "role",
                "mapping": {
                  "user": "#/components/schemas/UserMessage",
                  "assistant": "#/components/schemas/AssistantMessage",
                  "tool": "#/components/schemas/ToolMessage",
                  "system": "#/components/schemas/SystemMessage",
                  "developer": "#/components/schemas/DeveloperMessage"
                }
              }
            },
            "default": []
          },
          "send_message_history_updates": {
            "type": "boolean",
            "description": "When `true`, a webhook is sent each time the conversation message history is updated.",
            "default": false
          },
          "participants": {
            "type": "array",
            "description": "A list of participants to add to the conversation when it starts.",
            "items": {
              "$ref": "#/components/schemas/AIAssistantJoinParticipant"
            },
            "default": []
          },
          "client_state": {
            "type": "string",
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        }
      },
      "AIAssistantStopRequest": {
        "type": "object",
        "title": "AI Assistant Stop Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "AUIdVerificationParams": {
        "type": "object",
        "description": "Required information for initiating the action requirement for AU ID verification.",
        "required": [
          "first_name",
          "last_name"
        ],
        "properties": {
          "first_name": {
            "type": "string",
            "description": "The first name of the person that will perform the verification flow.",
            "example": "John"
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the person that will perform the verification flow.",
            "example": "Doe"
          }
        }
      },
      "AWSVoiceSettings": {
        "type": "object",
        "title": "AWS Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "aws"
            ],
            "description": "Voice settings provider type"
          }
        },
        "required": [
          "type"
        ]
      },
      "AcceptSuggestionsRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the address."
          }
        }
      },
      "AccessIPAddressListResponseSchema": {
        "title": "AccessIPAddressListResponseSchema",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessIPAddressResponseSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/cloudflare-ip-list-sync_PaginationMeta"
          }
        }
      },
      "AccessIPAddressPOST": {
        "title": "AccessIPAddressPOST",
        "required": [
          "ip_address"
        ],
        "type": "object",
        "properties": {
          "ip_address": {
            "title": "Ip Address",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          }
        }
      },
      "AccessIPAddressResponseSchema": {
        "title": "AccessIPAddressResponseSchema",
        "required": [
          "id",
          "ip_address",
          "source",
          "status",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "ip_address": {
            "title": "Ip Address",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CloudflareSyncStatus"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "user_id": {
            "title": "User Id",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccessIPRangeListResponseSchema": {
        "title": "AccessIPRangeListResponseSchema",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessIPRangeResponseSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/cloudflare-ip-list-sync_PaginationMeta"
          }
        }
      },
      "AccessIPRangePOST": {
        "title": "AccessIPRangePOST",
        "required": [
          "cidr_block"
        ],
        "type": "object",
        "properties": {
          "cidr_block": {
            "title": "Cidr Block",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          }
        }
      },
      "AccessIPRangeResponseSchema": {
        "title": "AccessIPRangeResponseSchema",
        "required": [
          "id",
          "cidr_block",
          "status",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "cidr_block": {
            "title": "Cidr Block",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CloudflareSyncStatus"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "user_id": {
            "title": "User Id",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccountSid": {
        "type": "string",
        "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
      },
      "ActionsParticipantsRequest": {
        "type": "object",
        "properties": {
          "participants": {
            "description": "Either a list of participant id to perform the action on, or the keyword \"all\" to perform the action on all participant.",
            "oneOf": [
              {
                "type": "string",
                "example": "all",
                "enum": [
                  "all"
                ]
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid",
                  "example": "7b61621f-62e0-4aad-ab11-9fd19e272e73"
                }
              }
            ]
          },
          "exclude": {
            "description": "List of participant id to exclude from the action.",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "example": "7b61621f-62e0-4aad-ab11-9fd19e272e73"
            }
          }
        }
      },
      "ActiveCall": {
        "type": "object",
        "title": "Active Call",
        "required": [
          "call_control_id",
          "call_leg_id",
          "call_session_id",
          "client_state",
          "record_type",
          "call_duration"
        ],
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "call_leg_id": "2dc6fc34-f9e0-11ea-b68e-02420a0f7768",
          "call_session_id": "2dc1b3c8-f9e0-11ea-bc5a-02420a0f7768",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "call_duration": 50,
          "record_type": "call"
        },
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "call"
            ],
            "example": "call"
          },
          "call_session_id": {
            "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b68e-5013ef9657c1"
          },
          "call_leg_id": {
            "description": "ID that is unique to the call and can be used to correlate webhook events",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1"
          },
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "client_state": {
            "description": "State received from a command.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "call_duration": {
            "description": "Indicates the duration of the call in seconds",
            "type": "integer",
            "example": 50
          }
        }
      },
      "AddPlanStepsRequest": {
        "properties": {
          "steps": {
            "items": {
              "$ref": "#/components/schemas/CreatePlanStepRequest"
            },
            "type": "array",
            "title": "Steps"
          }
        },
        "type": "object",
        "required": [
          "steps"
        ],
        "title": "AddPlanStepsRequest"
      },
      "AddTagRequest": {
        "properties": {
          "tag": {
            "type": "string",
            "title": "Tag"
          }
        },
        "type": "object",
        "required": [
          "tag"
        ],
        "title": "AddTagRequest"
      },
      "Address": {
        "type": "object",
        "title": "Address",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the address.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "address"
          },
          "customer_reference": {
            "$ref": "#/components/schemas/customer_reference"
          },
          "first_name": {
            "$ref": "#/components/schemas/first_name"
          },
          "last_name": {
            "$ref": "#/components/schemas/last_name"
          },
          "business_name": {
            "$ref": "#/components/schemas/business_name"
          },
          "phone_number": {
            "$ref": "#/components/schemas/phone_number"
          },
          "street_address": {
            "$ref": "#/components/schemas/street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/administrative_area"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/neighborhood"
          },
          "borough": {
            "$ref": "#/components/schemas/borough"
          },
          "postal_code": {
            "$ref": "#/components/schemas/postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/country_code"
          },
          "address_book": {
            "$ref": "#/components/schemas/address_book"
          },
          "validate_address": {
            "$ref": "#/components/schemas/validate_address"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "AddressCreate": {
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "business_name",
          "street_address",
          "locality",
          "country_code"
        ],
        "properties": {
          "customer_reference": {
            "$ref": "#/components/schemas/customer_reference"
          },
          "first_name": {
            "$ref": "#/components/schemas/first_name"
          },
          "last_name": {
            "$ref": "#/components/schemas/last_name"
          },
          "business_name": {
            "$ref": "#/components/schemas/business_name"
          },
          "phone_number": {
            "$ref": "#/components/schemas/phone_number"
          },
          "street_address": {
            "$ref": "#/components/schemas/street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/administrative_area"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/neighborhood"
          },
          "borough": {
            "$ref": "#/components/schemas/borough"
          },
          "postal_code": {
            "$ref": "#/components/schemas/postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/country_code"
          },
          "address_book": {
            "$ref": "#/components/schemas/address_book"
          },
          "validate_address": {
            "$ref": "#/components/schemas/validate_address"
          }
        }
      },
      "AddressSuggestionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "accepted": {
                "type": "boolean",
                "description": "Indicates if the address suggestions are accepted."
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The UUID of the location."
              },
              "record_type": {
                "type": "string",
                "enum": [
                  "address_suggestion"
                ]
              }
            }
          }
        }
      },
      "AdjustmentLine": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Adjustment amount as decimal string",
            "example": "-10.00"
          },
          "description": {
            "type": "string",
            "description": "Description of the adjustment",
            "example": "Credit for service outage"
          },
          "event_date": {
            "type": "string",
            "format": "date",
            "description": "Date when the adjustment occurred",
            "example": "2025-05-15"
          }
        },
        "required": [
          "amount",
          "description",
          "event_date"
        ]
      },
      "AdvancedOrder": {
        "type": "object",
        "title": "Advanced Order",
        "properties": {
          "country_code": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "title": "Country Code",
            "default": "US"
          },
          "comments": {
            "type": "string",
            "maxLength": 255,
            "title": "Comments",
            "default": ""
          },
          "quantity": {
            "type": "integer",
            "maximum": 10000,
            "minimum": 1,
            "title": "Quantity",
            "default": 1
          },
          "area_code": {
            "type": "string",
            "maxLength": 3,
            "title": "Area Code",
            "default": ""
          },
          "phone_number_type": {
            "items": {
              "enum": [
                "local",
                "mobile",
                "toll_free",
                "shared_cost",
                "national",
                "landline"
              ]
            },
            "default": ""
          },
          "features": {
            "items": {
              "enum": [
                "sms",
                "mms",
                "voice",
                "fax",
                "emergency"
              ]
            },
            "type": "array",
            "uniqueItems": true,
            "title": "Features"
          },
          "customer_reference": {
            "type": "string",
            "title": "Customer Reference",
            "default": ""
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "status": {
            "items": {
              "type": "string",
              "enum": [
                "pending",
                "processing",
                "ordered"
              ]
            }
          },
          "orders": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "uniqueItems": true,
            "title": "Orders"
          },
          "requirement_group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Requirement Group ID",
            "description": "The ID of the requirement group associated with this advanced order",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          }
        }
      },
      "AdvancedOrderRequest": {
        "properties": {
          "country_code": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "title": "Country Code",
            "default": "US"
          },
          "comments": {
            "type": "string",
            "maxLength": 255,
            "title": "Comments",
            "default": ""
          },
          "quantity": {
            "type": "integer",
            "maximum": 10000,
            "minimum": 1,
            "title": "Quantity",
            "default": 1
          },
          "area_code": {
            "type": "string",
            "maxLength": 3,
            "title": "Area Code",
            "default": ""
          },
          "phone_number_type": {
            "type": "string",
            "enum": [
              "local",
              "mobile",
              "toll_free",
              "shared_cost",
              "national",
              "landline"
            ],
            "default": "local"
          },
          "features": {
            "items": {
              "enum": [
                "sms",
                "mms",
                "voice",
                "fax",
                "emergency"
              ]
            },
            "type": "array",
            "uniqueItems": true,
            "title": "Features"
          },
          "customer_reference": {
            "type": "string",
            "title": "Customer Reference",
            "default": ""
          },
          "requirement_group_id": {
            "type": "string",
            "format": "uuid",
            "title": "Requirement Group ID",
            "description": "The ID of the requirement group to associate with this advanced order",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          }
        },
        "type": "object",
        "title": "AdvancedOrderRequest"
      },
      "AlphanumericSenderId": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "alphanumeric_sender_id"
            ],
            "example": "alphanumeric_sender_id"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the alphanumeric sender ID resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "alphanumeric_sender_id": {
            "type": "string",
            "description": "The alphanumeric sender ID string.",
            "example": "MyCompany"
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns this sender ID."
          },
          "messaging_profile_id": {
            "type": "string",
            "format": "uuid",
            "description": "The messaging profile this sender ID belongs to."
          },
          "us_long_code_fallback": {
            "type": "string",
            "description": "A US long code number to use as fallback when sending to US destinations.",
            "example": "+15551234567"
          }
        }
      },
      "AltBusinessIdType": {
        "title": "AltBusinessIdType",
        "enum": [
          "NONE",
          "DUNS",
          "GIIN",
          "LEI"
        ],
        "description": "An enumeration.",
        "type": "string"
      },
      "AmdDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Feature invocation id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "invoked_at": {
            "type": "string",
            "description": "Feature invocation time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "feature": {
            "type": "string",
            "description": "Feature name",
            "enum": [
              "PREMIUM"
            ]
          },
          "tags": {
            "type": "string",
            "description": "User-provided tags",
            "example": "tag1,tag2"
          },
          "billing_group_id": {
            "type": "string",
            "description": "Billing Group id",
            "example": "01977831-abdd-4894-84f3-244385621424"
          },
          "billing_group_name": {
            "type": "string",
            "description": "Name of the Billing Group specified in billing_group_id",
            "example": "Billing group name"
          },
          "connection_id": {
            "type": "string",
            "description": "Connection id",
            "example": "1684947189014463919"
          },
          "connection_name": {
            "type": "string",
            "description": "Connection name",
            "example": "Name of the connection with id specified in connection_id field"
          },
          "call_leg_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies the related call leg",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "call_session_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies the related call session",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "is_telnyx_billable": {
            "type": "boolean",
            "description": "Indicates whether Telnyx billing charges might be applicable",
            "example": true
          },
          "rate": {
            "type": "string",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing cost",
            "example": "0.002"
          },
          "rate_measured_in": {
            "type": "string",
            "description": "Billing unit used to calculate the Telnyx billing cost",
            "example": "invocations"
          },
          "cost": {
            "type": "string",
            "description": "Currency amount for Telnyx billing cost",
            "example": "0.004"
          },
          "currency": {
            "type": "string",
            "description": "Telnyx account currency used to describe monetary values, including billing cost",
            "example": "USD"
          },
          "record_type": {
            "type": "string",
            "example": "amd_detail_record",
            "default": "amd_detail_record"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "AnchorsiteOverride": {
        "title": "Anchorsite Override",
        "type": "string",
        "description": "`Latency` directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.",
        "enum": [
          "Latency",
          "Chicago, IL",
          "Ashburn, VA",
          "San Jose, CA",
          "Sydney, Australia",
          "Amsterdam, Netherlands",
          "London, UK",
          "Toronto, Canada",
          "Vancouver, Canada",
          "Frankfurt, Germany"
        ],
        "default": "Latency",
        "example": "Amsterdam, Netherlands"
      },
      "AnswerRequest": {
        "type": "object",
        "title": "Answer Request",
        "properties": {
          "assistant": {
            "$ref": "#/components/schemas/CallAssistantRequest"
          },
          "billing_group_id": {
            "description": "Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID.",
            "type": "string",
            "format": "uuid",
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE response.",
            "type": "array",
            "example": [
              {
                "name": "head_1",
                "value": "val_1"
              },
              {
                "name": "head_2",
                "value": "val_2"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/CustomSipHeader"
            }
          },
          "preferred_codecs": {
            "type": "string",
            "description": "The list of comma-separated codecs in a preferred order for the forked media to be received.",
            "enum": [
              "G722,PCMU,PCMA,G729,OPUS,VP8,H264"
            ],
            "example": "G722,PCMU,PCMA,G729,OPUS,VP8,H264"
          },
          "sip_headers": {
            "description": "SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported.",
            "type": "array",
            "example": [
              {
                "name": "User-to-User",
                "value": "value"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/SipHeader"
            }
          },
          "sound_modifications": {
            "$ref": "#/components/schemas/SoundModifications"
          },
          "stream_url": {
            "description": "The destination WebSocket address where the stream is going to be delivered.",
            "type": "string",
            "example": "wss://www.example.com/websocket"
          },
          "stream_track": {
            "description": "Specifies which track should be streamed.",
            "type": "string",
            "enum": [
              "inbound_track",
              "outbound_track",
              "both_tracks"
            ],
            "default": "inbound_track",
            "example": "both_tracks"
          },
          "stream_codec": {
            "$ref": "#/components/schemas/StreamCodec"
          },
          "stream_bidirectional_mode": {
            "$ref": "#/components/schemas/StreamBidirectionalMode"
          },
          "stream_bidirectional_codec": {
            "$ref": "#/components/schemas/StreamBidirectionalCodec"
          },
          "stream_bidirectional_target_legs": {
            "$ref": "#/components/schemas/StreamBidirectionalTargetLegs"
          },
          "send_silence_when_idle": {
            "description": "Generate silence RTP packets when no transmission available.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "webhook_url": {
            "description": "Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.",
            "type": "string",
            "example": "https://www.example.com/server-b/"
          },
          "webhook_url_method": {
            "description": "HTTP request type used for `webhook_url`.",
            "default": "POST",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "example": "GET"
          },
          "transcription": {
            "description": "Enable transcription upon call answer. The default value is false.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "transcription_config": {
            "$ref": "#/components/schemas/TranscriptionStartRequest"
          },
          "record": {
            "description": "Start recording automatically after an event. Disabled by default.",
            "type": "string",
            "enum": [
              "record-from-answer"
            ],
            "example": "record-from-answer"
          },
          "record_channels": {
            "description": "Defines which channel should be recorded ('single' or 'dual') when `record` is specified.",
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "default": "dual",
            "example": "single"
          },
          "record_format": {
            "description": "Defines the format of the recording ('wav' or 'mp3') when `record` is specified.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "mp3",
            "example": "wav"
          },
          "record_max_length": {
            "description": "Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 1000
          },
          "record_timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 100
          },
          "record_track": {
            "description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
            "type": "string",
            "example": "outbound",
            "default": "both",
            "enum": [
              "both",
              "inbound",
              "outbound"
            ]
          },
          "record_trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "record_custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "webhook_urls": {
            "description": "A map of event types to webhook URLs. When an event of the specified type occurs, the webhook URL associated with that event type will be called instead of `webhook_url`. Events not mapped here will use the default `webhook_url`.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "uri"
            },
            "example": {
              "call.hangup": "https://www.example.com/webhooks/hangup",
              "call.bridge": "https://www.example.com/webhooks/bridge"
            }
          },
          "webhook_urls_method": {
            "description": "HTTP request method to invoke `webhook_urls`.",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "default": "POST",
            "example": "POST"
          },
          "webhook_retries_policies": {
            "description": "A map of event types to retry policies. Each retry policy contains an array of `retries_ms` specifying the delays between retry attempts in milliseconds. Maximum 5 retries, total delay cannot exceed 60 seconds.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "retries_ms": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "maxItems": 5,
                  "description": "Array of delays in milliseconds between retry attempts. Total sum cannot exceed 60000ms."
                }
              }
            },
            "example": {
              "call.hangup": {
                "retries_ms": [
                  1000,
                  2000,
                  5000
                ]
              }
            }
          },
          "deepfake_detection": {
            "description": "Enables deepfake detection on the call. When enabled, audio from the remote party is streamed to a detection service that analyzes whether the voice is AI-generated. Results are delivered via the `call.deepfake_detection.result` webhook.",
            "type": "object",
            "required": [
              "enabled"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": false,
                "description": "Whether deepfake detection is enabled."
              },
              "timeout": {
                "type": "integer",
                "format": "int32",
                "default": 15,
                "minimum": 5,
                "maximum": 60,
                "description": "Maximum time in seconds to wait for a detection result before timing out."
              },
              "rtp_timeout": {
                "type": "integer",
                "format": "int32",
                "default": 30,
                "minimum": 5,
                "maximum": 120,
                "description": "Maximum time in seconds to wait for RTP audio before timing out. If no audio is received within this window, detection stops with an error."
              }
            }
          }
        },
        "example": {
          "assistant": {
            "id": "asst_123",
            "greeting": "Hi, I'm your assistant. How can I help?",
            "tools": [
              {
                "type": "hangup",
                "hangup": {}
              }
            ]
          },
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "webhook_url": "https://www.example.com/server-b/",
          "webhook_url_method": "POST",
          "send_silence_when_idle": true,
          "deepfake_detection": {
            "enabled": true,
            "timeout": 15,
            "rtp_timeout": 30
          }
        }
      },
      "ApplicationName": {
        "title": "Application Name",
        "type": "string",
        "description": "A user-assigned name to help manage the application.",
        "example": "call-router"
      },
      "AssignProfileToCampaignRequest": {
        "title": "AssignProfileToCampaignRequest",
        "required": [
          "messagingProfileId"
        ],
        "type": "object",
        "properties": {
          "messagingProfileId": {
            "title": "Messagingprofileid",
            "type": "string",
            "description": "The ID of the messaging profile that you want to link to the specified campaign.",
            "example": "4001767e-ce0f-4cae-9d5f-0d5e636e7809"
          },
          "tcrCampaignId": {
            "title": "Tcrcampaignid",
            "type": "string",
            "description": "The TCR ID of the shared campaign you want to link to the specified messaging profile (for campaigns not created using Telnyx 10DLC services only). If you supply this ID in the request, do not also include a campaignId.",
            "example": "CWZTFH1"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "The ID of the campaign you want to link to the specified messaging profile. If you supply this ID in the request, do not also include a tcrCampaignId.",
            "example": "4b300178-131c-d902-d54e-72d90ba1620j"
          }
        }
      },
      "AssignProfileToCampaignResponse": {
        "title": "AssignProfileToCampaignResponse",
        "required": [
          "messagingProfileId",
          "taskId"
        ],
        "type": "object",
        "properties": {
          "messagingProfileId": {
            "title": "Messagingprofileid",
            "type": "string",
            "description": "The ID of the messaging profile that you want to link to the specified campaign.",
            "example": "4001767e-ce0f-4cae-9d5f-0d5e636e7809"
          },
          "tcrCampaignId": {
            "title": "Tcrcampaignid",
            "type": "string",
            "description": "The TCR ID of the shared campaign you want to link to the specified messaging profile (for campaigns not created using Telnyx 10DLC services only). If you supply this ID in the request, do not also include a campaignId.",
            "example": "CWZTFH1"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "The ID of the campaign you want to link to the specified messaging profile. If you supply this ID in the request, do not also include a tcrCampaignId.",
            "example": "4b300178-131c-d902-d54e-72d90ba1620j"
          },
          "taskId": {
            "title": "Taskid",
            "type": "string",
            "description": "The ID of the task associated with assigning a messaging profile to a campaign.",
            "example": "667a80f8-b0a9-49d0-b9ab-a7a1bcc45086"
          }
        }
      },
      "AssignmentTaskStatusResponse": {
        "title": "AssignmentTaskStatusResponse",
        "required": [
          "taskId",
          "status"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "title": "Taskid",
            "type": "string"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/10dlc_TaskStatus"
              }
            ],
            "type": "string",
            "description": "The status of the task associated with assigning a messaging profile to a campaign.",
            "example": "pending"
          },
          "createdAt": {
            "title": "Createdat",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "title": "Updatedat",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Assistant": {
        "type": "object",
        "title": "Assistant",
        "description": "Assistant configuration including choice of LLM, custom instructions, and tools.",
        "properties": {
          "model": {
            "description": "The model to be used by the voice assistant.",
            "type": "string",
            "default": "Qwen/Qwen3-235B-A22B",
            "example": "Qwen/Qwen3-235B-A22B"
          },
          "instructions": {
            "description": "The system instructions that the voice assistant uses during the gather command",
            "type": "string",
            "example": "You are a friendly voice assistant."
          },
          "openai_api_key_ref": {
            "description": "This is necessary only if the model selected is from OpenAI. You would pass the `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your OpenAI API Key. Warning: Free plans are unlikely to work with this integration.",
            "type": "string",
            "example": "my_openai_api_key"
          },
          "tools": {
            "description": "The tools that the voice assistant can use.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/BookAppointmentTool"
                },
                {
                  "$ref": "#/components/schemas/CheckAvailabilityTool"
                },
                {
                  "$ref": "#/components/schemas/WebhookTool"
                },
                {
                  "$ref": "#/components/schemas/HangupTool"
                },
                {
                  "$ref": "#/components/schemas/TransferTool"
                },
                {
                  "$ref": "#/components/schemas/CallControlRetrievalTool"
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "book_appointment": "#/components/schemas/BookAppointmentTool",
                  "check_availability": "#/components/schemas/CheckAvailabilityTool",
                  "webhook": "#/components/schemas/WebhookTool",
                  "hangup": "#/components/schemas/HangupTool",
                  "transfer": "#/components/schemas/TransferTool",
                  "retrieval": "#/components/schemas/CallControlRetrievalTool"
                }
              }
            }
          }
        }
      },
      "AssistantChatReq": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content",
            "description": "The message content sent by the client to the assistant",
            "example": "Tell me a joke about cats"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The optional display name of the user sending the message",
            "example": "Charlie"
          },
          "conversation_id": {
            "type": "string",
            "title": "Conversation Id",
            "description": "A unique identifier for the conversation thread, used to maintain context",
            "example": "42b20469-1215-4a9a-8964-c36f66b406f4"
          }
        },
        "type": "object",
        "required": [
          "content",
          "conversation_id"
        ],
        "title": "AssistantChatReq"
      },
      "AssistantChatResponse": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content",
            "description": "The assistant's generated response based on the input message and context.",
            "example": "Why did the cat sit on the computer? Because it wanted to keep an eye on the mouse!"
          }
        },
        "type": "object",
        "required": [
          "content"
        ],
        "title": "AssistantChatResponse"
      },
      "AssistantDeletedResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "object": {
            "type": "string",
            "title": "Object"
          },
          "deleted": {
            "type": "boolean",
            "title": "Deleted"
          }
        },
        "type": "object",
        "required": [
          "id",
          "object",
          "deleted"
        ],
        "title": "AssistantDeletedResponse",
        "description": "Aligns with the OpenAI API:\nhttps://platform.openai.com/docs/api-reference/assistants/deleteAssistant"
      },
      "AssistantIntegration": {
        "type": "object",
        "title": "AssistantIntegration",
        "description": "Reference to a connected integration attached to an assistant. Discover available integrations with `/ai/integrations` and connected integrations with `/ai/integrations/connections`.",
        "properties": {
          "integration_id": {
            "type": "string",
            "description": "Catalog integration ID to attach. This is the `id` from the integrations catalog at `/ai/integrations` (the same value also appears as `integration_id` on entries returned by `/ai/integrations/connections`). It is **not** the connection-level `id` from `/ai/integrations/connections`."
          },
          "allowed_list": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional per-assistant allowlist of integration tool names. When omitted or empty, all tools allowed by the connected integration are available to the assistant."
          }
        },
        "required": [
          "integration_id"
        ]
      },
      "AssistantMCPServer": {
        "type": "object",
        "title": "AssistantMCPServer",
        "description": "Reference to an MCP server attached to an assistant. Create and manage MCP servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by ID.",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the MCP server to attach. This must be the `id` of an MCP server returned by the `/ai/mcp_servers` endpoints."
          },
          "allowed_tools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional per-assistant allowlist of MCP tool names. When omitted, the assistant uses the MCP server's configured `allowed_tools`."
          }
        },
        "required": [
          "id"
        ]
      },
      "AssistantMessage": {
        "type": "object",
        "title": "Assistant Message",
        "description": "Messages sent by the model in response to user messages.",
        "properties": {
          "role": {
            "description": "The role of the messages author, in this case `assistant`.",
            "type": "string",
            "enum": [
              "assistant"
            ]
          },
          "content": {
            "description": "The contents of the assistant message. Required unless `tool_calls`",
            "type": "string"
          },
          "tool_calls": {
            "type": "array",
            "description": "The tool calls generated by the model, such as function calls.",
            "items": {
              "$ref": "#/components/schemas/ToolCall"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          }
        },
        "required": [
          "role"
        ],
        "example": {
          "role": "assistant",
          "content": "Hello, I'm John."
        }
      },
      "AssistantScheduledCallAttempt": {
        "properties": {
          "attempt_number": {
            "type": "integer",
            "title": "Attempt Number"
          },
          "attempted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Attempted At"
          },
          "call_status": {
            "type": "string",
            "title": "Call Status",
            "description": "Values: busy, canceled, no-answer, ringing, completed, failed, in-progress"
          },
          "call_duration": {
            "title": "Call Duration",
            "type": "integer",
            "description": "Duration of the call in seconds"
          },
          "telnyx_call_control_id": {
            "title": "Telnyx Call Control Id",
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "attempt_number",
          "attempted_at",
          "call_status"
        ],
        "title": "AssistantScheduledCallAttempt",
        "description": "One row in `call_attempts` — captures the terminal outcome of a single dispatch."
      },
      "AssistantSmsChatReq": {
        "properties": {
          "from": {
            "type": "string",
            "title": "From"
          },
          "to": {
            "type": "string",
            "title": "To"
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "conversation_metadata": {
            "title": "Conversation Metadata",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "type": "object"
          },
          "should_create_conversation": {
            "title": "Should Create Conversation",
            "type": "boolean"
          }
        },
        "type": "object",
        "required": [
          "from",
          "to"
        ],
        "title": "AssistantSmsChatReq"
      },
      "AssistantSmsChatResponse": {
        "properties": {
          "conversation_id": {
            "title": "Conversation Id",
            "type": "string"
          }
        },
        "type": "object",
        "title": "AssistantSmsChatResponse"
      },
      "AssistantTestResponse": {
        "properties": {
          "test_id": {
            "type": "string",
            "format": "uuid",
            "title": "Test Id",
            "description": "Unique identifier for the assistant test.",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "Human-readable name of the test.",
            "example": "Customer Support Bot Test"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "Detailed description of the test's purpose and scope."
          },
          "telnyx_conversation_channel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TelnyxConversationChannel"
              }
            ],
            "description": "Communication channel used for test execution.",
            "example": "web_chat"
          },
          "destination": {
            "type": "string",
            "title": "Destination",
            "description": "Target destination for test conversations."
          },
          "max_duration_seconds": {
            "type": "integer",
            "title": "Max Duration Seconds",
            "description": "Maximum allowed duration for test execution in seconds."
          },
          "test_suite": {
            "type": "string",
            "title": "Test Suite",
            "description": "Test suite grouping for organizational purposes."
          },
          "instructions": {
            "type": "string",
            "title": "Instructions",
            "description": "Detailed test scenario instructions and objectives."
          },
          "rubric": {
            "items": {
              "type": "object",
              "required": [
                "name",
                "criteria"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Label for the evaluation criterion, e.g., Empathy, Accuracy, Clarity."
                },
                "criteria": {
                  "type": "string",
                  "description": "Specific guidance on how to assess the assistant’s performance for this rubric item."
                }
              },
              "additionalProperties": false
            },
            "type": "array",
            "title": "Rubric",
            "description": "Evaluation criteria used to assess test performance.",
            "example": [
              {
                "criteria": "Responds within 30 seconds",
                "name": "Response Time"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "Timestamp when the test was created.",
            "example": "2024-01-16T09:00:00Z"
          }
        },
        "type": "object",
        "required": [
          "test_id",
          "name",
          "telnyx_conversation_channel",
          "rubric",
          "created_at"
        ],
        "title": "AssistantTestResponse",
        "description": "Response model containing complete assistant test information.\n\nReturns all test configuration details including evaluation criteria,\nscheduling, and metadata. Used when retrieving individual tests or\nafter creating/updating tests."
      },
      "AssistantTools": {
        "description": "Deprecated for new integrations. Inline tool definitions available to the assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools endpoints.",
        "type": "array",
        "items": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/inference-embedding_WebhookTool"
            },
            {
              "$ref": "#/components/schemas/RetrievalTool"
            },
            {
              "$ref": "#/components/schemas/HandoffTool"
            },
            {
              "$ref": "#/components/schemas/HangupTool"
            },
            {
              "$ref": "#/components/schemas/inference-embedding_TransferTool"
            },
            {
              "$ref": "#/components/schemas/InviteTool"
            },
            {
              "$ref": "#/components/schemas/SIPReferTool"
            },
            {
              "$ref": "#/components/schemas/DTMFTool"
            },
            {
              "$ref": "#/components/schemas/SendMessageTool"
            },
            {
              "$ref": "#/components/schemas/SkipTurnTool"
            }
          ]
        }
      },
      "AssistantsListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/inference-embedding_Assistant"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "AssistantsListData"
      },
      "AudioChunkFrame": {
        "type": "object",
        "description": "Server-to-client frame containing a base64-encoded audio chunk.",
        "properties": {
          "type": {
            "type": "string",
            "const": "audio_chunk",
            "description": "Frame type identifier."
          },
          "audio": {
            "type": [
              "string",
              "null"
            ],
            "description": "Base64-encoded audio data. May be `null` for providers that use `drop_concatenated_audio` mode (Telnyx Natural/NaturalHD, Rime, Minimax, MurfAI, Resemble) — in that case only streamed chunks carry audio."
          },
          "text": {
            "type": [
              "string",
              "null"
            ],
            "description": "The text segment that this audio chunk corresponds to."
          },
          "isFinal": {
            "type": "boolean",
            "description": "Always `false` for audio chunk frames."
          },
          "cached": {
            "type": "boolean",
            "description": "Whether this audio was served from cache."
          },
          "timeToFirstAudioFrameMs": {
            "type": "integer",
            "description": "Milliseconds from the start-of-speech request to the first audio frame. Only present on the first audio chunk of a synthesis request."
          }
        }
      },
      "AudioTranscriptionRequest": {
        "type": "object",
        "properties": {
          "file": {
            "description": "The audio file object to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. File uploads are limited to 100 MB. Cannot be used together with `file_url`. Note: `deepgram/nova-3` only supports mp3 and wav formats.",
            "type": "string",
            "format": "binary"
          },
          "file_url": {
            "description": "Link to audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. Support for hosted files is limited to 100MB. Cannot be used together with `file`. Note: `deepgram/nova-3` only supports mp3 and wav formats.",
            "type": "string",
            "example": "https://example.com/file.mp3"
          },
          "model": {
            "description": "ID of the model to use. `distil-whisper/distil-large-v2` is lower latency but English-only. `openai/whisper-large-v3-turbo` is multi-lingual but slightly higher latency. `deepgram/nova-3` supports English variants (en, en-US, en-GB, en-AU, en-NZ, en-IN) and only accepts mp3/wav files.",
            "example": "distil-whisper/distil-large-v2",
            "default": "distil-whisper/distil-large-v2",
            "type": "string",
            "enum": [
              "distil-whisper/distil-large-v2",
              "openai/whisper-large-v3-turbo",
              "deepgram/nova-3"
            ]
          },
          "response_format": {
            "description": "The format of the transcript output. Use `verbose_json` to take advantage of timestamps.",
            "example": "json",
            "type": "string",
            "default": "json",
            "enum": [
              "json",
              "verbose_json"
            ]
          },
          "timestamp_granularities[]": {
            "description": "The timestamp granularities to populate for this transcription. `response_format` must be set verbose_json to use timestamp granularities. Currently `segment` is supported.",
            "example": "segment",
            "type": "string",
            "enum": [
              "segment"
            ]
          },
          "language": {
            "type": "string",
            "description": "The language of the audio to be transcribed. For `deepgram/nova-3`, only English variants are supported: `en`, `en-US`, `en-GB`, `en-AU`, `en-NZ`, `en-IN`. For `openai/whisper-large-v3-turbo`, supports multiple languages. `distil-whisper/distil-large-v2` does not support language parameter.",
            "example": "en-US"
          },
          "model_config": {
            "type": "object",
            "description": "Additional model-specific configuration parameters. Only allowed with `deepgram/nova-3` model. Can include Deepgram-specific options such as `smart_format`, `punctuate`, `diarize`, `utterance`, `numerals`, and `language`. If `language` is provided both as a top-level parameter and in `model_config`, the top-level parameter takes precedence.",
            "additionalProperties": true,
            "example": {
              "smart_format": true,
              "punctuate": true
            }
          }
        },
        "required": [
          "model"
        ]
      },
      "AudioTranscriptionResponse": {
        "type": "object",
        "description": "Response fields vary by model. `distil-whisper/distil-large-v2` returns `text`, `duration`, and `segments` in `verbose_json` mode. `openai/whisper-large-v3-turbo` returns `text` only. `deepgram/nova-3` returns `text` and, depending on `model_config`, may include `words` with per-word timestamps and speaker labels.",
        "properties": {
          "text": {
            "type": "string",
            "description": "The transcribed text for the audio file."
          },
          "duration": {
            "type": "number",
            "description": "The duration of the audio file in seconds. Returned by `distil-whisper/distil-large-v2` and `deepgram/nova-3` when `response_format` is `verbose_json`. Not returned by `openai/whisper-large-v3-turbo`."
          },
          "segments": {
            "type": "array",
            "description": "Segments of the transcribed text and their corresponding details. Returned by `distil-whisper/distil-large-v2` when `response_format` is `verbose_json`. Not returned by `openai/whisper-large-v3-turbo`.",
            "items": {
              "$ref": "#/components/schemas/AudioTranscriptionResponseSegments"
            }
          },
          "words": {
            "type": "array",
            "description": "Word-level timestamps and optional speaker labels. Only returned by `deepgram/nova-3` when word-level output is enabled via `model_config`.",
            "items": {
              "$ref": "#/components/schemas/AudioTranscriptionResponseWord"
            }
          }
        },
        "required": [
          "text"
        ]
      },
      "AudioTranscriptionResponseSegments": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Unique identifier of the segment."
          },
          "start": {
            "type": "number",
            "description": "Start time of the segment in seconds."
          },
          "end": {
            "type": "number",
            "description": "End time of the segment in seconds."
          },
          "text": {
            "type": "string",
            "description": "Text content of the segment."
          }
        },
        "required": [
          "id",
          "start",
          "end",
          "text"
        ]
      },
      "AudioTranscriptionResponseWord": {
        "type": "object",
        "description": "Word-level timing detail. Only present when using `deepgram/nova-3` with `model_config` options that enable word timestamps.",
        "properties": {
          "word": {
            "type": "string",
            "description": "The transcribed word."
          },
          "start": {
            "type": "number",
            "description": "Start time of the word in seconds."
          },
          "end": {
            "type": "number",
            "description": "End time of the word in seconds."
          },
          "confidence": {
            "type": "number",
            "description": "Confidence score for the word (0.0 to 1.0)."
          },
          "speaker": {
            "type": "integer",
            "description": "Speaker index. Only present when diarization is enabled via `model_config`."
          }
        },
        "required": [
          "word",
          "start",
          "end"
        ]
      },
      "AudioVisualizerConfig": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "enum": [
              "verdant",
              "twilight",
              "bloom",
              "mystic",
              "flare",
              "glacier"
            ],
            "description": "The color theme for the audio visualizer."
          },
          "preset": {
            "type": "string",
            "description": "The preset style for the audio visualizer."
          }
        },
        "title": "AudioVisualizerConfig"
      },
      "AuditEventChanges": {
        "type": "object",
        "title": "Audit Event Changes",
        "description": "Details of the changes made to a resource.",
        "properties": {
          "field": {
            "type": "string",
            "description": "The name of the field that was changed. May use the dot notation to indicate nested fields.",
            "example": "nested.field.name"
          },
          "to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "object",
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {}
              },
              {
                "type": "null"
              }
            ],
            "description": "The new value of the field. Can be any JSON type.",
            "example": 12345
          },
          "from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "object",
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {}
              },
              {
                "type": "null"
              }
            ],
            "description": "The previous value of the field. Can be any JSON type.",
            "example": 54321
          }
        }
      },
      "AuditLog": {
        "type": "object",
        "title": "Audit Log Entry",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the audit log entry.",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the user who made the change.",
            "example": "550e8400-e29b-41d4-a716-446655440001"
          },
          "record_type": {
            "type": "string",
            "description": "The type of the resource being audited.",
            "example": "audit_event"
          },
          "resource_id": {
            "type": "string",
            "description": "Unique identifier for the resource that was changed.",
            "example": "550e8400-e29b-41d4-a716-446655440002"
          },
          "alternate_resource_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "An alternate identifier for a resource which may be considered unique enough to identify the resource but is not the primary identifier for the resource. For example, this field could be used to store the phone number value for a phone number when the primary database identifier is a separate distinct value.",
            "example": "+14155551234"
          },
          "change_made_by": {
            "type": "string",
            "enum": [
              "telnyx",
              "account_manager",
              "account_owner",
              "organization_member"
            ],
            "description": "Indicates if the change was made by Telnyx on your behalf, the organization owner, a member of your organization, or in the case of managed accounts, the account manager.",
            "example": "organization_member"
          },
          "changes": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/AuditEventChanges"
            },
            "description": "Details of the changes made to the resource.",
            "example": [
              {
                "field": "field.name",
                "to": "old value",
                "from": "new value"
              }
            ]
          },
          "organization_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the organization that owns the resource.",
            "example": "550e8400-e29b-41d4-a716-446655440003"
          },
          "change_type": {
            "type": "string",
            "description": "The type of change that occurred.",
            "example": "update"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the change occurred.",
            "example": "2023-01-01T00:00:00Z"
          }
        }
      },
      "AuditLogList": {
        "type": "object",
        "title": "Audit Log List",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditLog"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/audit-logs_PaginationMeta"
          }
        }
      },
      "AuditLogsErrors": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/audit-logs_Error"
            }
          }
        }
      },
      "AuthenticationMethod": {
        "type": "string",
        "enum": [
          "token",
          "certificate"
        ],
        "default": "token",
        "description": "Authentication method used when connecting to the external LLM endpoint.",
        "title": "AuthenticationMethod"
      },
      "AuthenticationProvider": {
        "type": "object",
        "title": "AuthenticationProvider",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the authentication provider.",
            "example": "35146afd-df93-4963-b1e9-1a085e2ae874"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "authentication_provider"
          },
          "name": {
            "$ref": "#/components/schemas/name"
          },
          "short_name": {
            "$ref": "#/components/schemas/short_name"
          },
          "organization_id": {
            "$ref": "#/components/schemas/organization_id"
          },
          "active": {
            "$ref": "#/components/schemas/active"
          },
          "activated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the authentication provider was activated.",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "settings": {
            "type": "object",
            "description": "The settings associated with the authentication provider.",
            "properties": {
              "assertion_consumer_service_url": {
                "type": "string",
                "description": "The Assertion Consumer Service URL for the service provider (Telnyx).",
                "format": "uri",
                "example": "https://api.telnyx.com/sso/saml/auth/myorg"
              },
              "service_provider_entity_id": {
                "type": "string",
                "description": "The Entity ID for the service provider (Telnyx).",
                "format": "uri",
                "example": "https://api.telnyx.com/sso/saml/metadata/myorg"
              },
              "service_provider_login_url": {
                "type": "string",
                "description": "The login URL for the service provider (Telnyx). Users navigate to this URL to initiate SSO login.",
                "format": "uri",
                "example": "https://api.telnyx.com/sso/myorg"
              },
              "idp_entity_id": {
                "type": "string",
                "description": "The Entity ID for the identity provider (IdP).",
                "format": "uri",
                "example": "https://myorg.myidp.com/saml/metadata"
              },
              "idp_sso_target_url": {
                "type": "string",
                "description": "The SSO target url for the identity provider (IdP).",
                "format": "uri",
                "example": "https://myorg.myidp.com/trust/saml2/http-post/sso"
              },
              "idp_cert_fingerprint": {
                "type": "string",
                "description": "The certificate fingerprint for the identity provider (IdP)",
                "example": "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7"
              },
              "idp_cert_fingerprint_algorithm": {
                "type": "string",
                "description": "The algorithm used to generate the identity provider's (IdP) certificate fingerprint",
                "enum": [
                  "sha1",
                  "sha256",
                  "sha384",
                  "sha512"
                ],
                "default": "sha1",
                "example": "sha256"
              },
              "name_identifier_format": {
                "type": "string",
                "description": "The name identifier format associated with the authentication provider. This must be the same for both the Identity Provider (IdP) and the service provider (Telnyx).",
                "example": "urn:oasis:names:tc:SAML:1.1:nameid-format"
              },
              "idp_slo_target_url": {
                "type": "string",
                "description": "The Single Logout (SLO) target URL for the identity provider (IdP).",
                "format": "uri",
                "example": "https://myorg.myidp.com/trust/saml2/http-redirect/slo"
              },
              "idp_certificate": {
                "type": "string",
                "description": "The full X.509 certificate for the identity provider (IdP).",
                "example": "-----BEGIN CERTIFICATE-----\nMIIC...\n-----END CERTIFICATE-----"
              },
              "idp_attribute_names": {
                "type": "object",
                "description": "Mapping of SAML attribute names used by the identity provider (IdP).",
                "example": {
                  "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
                }
              },
              "provision_groups": {
                "type": "boolean",
                "description": "Whether group provisioning is enabled for this authentication provider.",
                "example": false
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "AuthenticationProviderCreate": {
        "type": "object",
        "required": [
          "name",
          "short_name",
          "settings"
        ],
        "properties": {
          "name": {
            "$ref": "#/components/schemas/name"
          },
          "short_name": {
            "$ref": "#/components/schemas/short_name"
          },
          "active": {
            "$ref": "#/components/schemas/active"
          },
          "settings": {
            "$ref": "#/components/schemas/settings"
          },
          "settings_url": {
            "$ref": "#/components/schemas/settings_url"
          }
        }
      },
      "AuthorizationServerMetadata": {
        "type": "object",
        "properties": {
          "issuer": {
            "type": "string",
            "format": "uri",
            "description": "Authorization server issuer URL"
          },
          "token_endpoint": {
            "type": "string",
            "format": "uri",
            "description": "Token endpoint URL"
          },
          "introspection_endpoint": {
            "type": "string",
            "format": "uri",
            "description": "Token introspection endpoint URL"
          },
          "jwks_uri": {
            "type": "string",
            "format": "uri",
            "description": "JWK Set endpoint URL"
          },
          "registration_endpoint": {
            "type": "string",
            "format": "uri",
            "description": "Dynamic client registration endpoint URL"
          },
          "authorization_endpoint": {
            "type": "string",
            "format": "uri",
            "description": "Authorization endpoint URL"
          },
          "grant_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported grant types"
          },
          "code_challenge_methods_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported PKCE code challenge methods"
          },
          "response_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported response types"
          },
          "token_endpoint_auth_methods_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported token endpoint authentication methods"
          },
          "scopes_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported OAuth scopes",
            "example": [
              "admin"
            ]
          }
        }
      },
      "AutoRechargePref": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1524126400473204723",
            "description": "The unique identifier for the auto recharge preference."
          },
          "record_type": {
            "type": "string",
            "example": "auto_recharge_pref",
            "description": "The record type."
          },
          "threshold_amount": {
            "type": "string",
            "example": "104.00",
            "description": "The threshold amount at which the account will be recharged.",
            "x-format": "decimal"
          },
          "recharge_amount": {
            "type": "string",
            "example": "104.00",
            "description": "The amount to recharge the account, the actual recharge amount will be the amount necessary to reach the threshold amount plus the recharge amount.",
            "x-format": "decimal"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether auto recharge is enabled."
          },
          "invoice_enabled": {
            "type": "boolean",
            "example": true
          },
          "preference": {
            "type": "string",
            "enum": [
              "credit_paypal",
              "ach"
            ],
            "example": "credit_paypal",
            "description": "The payment preference for auto recharge."
          }
        }
      },
      "AutoRechargePrefRequest": {
        "type": "object",
        "properties": {
          "threshold_amount": {
            "type": "string",
            "example": "104.00",
            "description": "The threshold amount at which the account will be recharged.",
            "x-format": "decimal"
          },
          "recharge_amount": {
            "type": "string",
            "example": "104.00",
            "description": "The amount to recharge the account, the actual recharge amount will be the amount necessary to reach the threshold amount plus the recharge amount.",
            "x-format": "decimal"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether auto recharge is enabled."
          },
          "invoice_enabled": {
            "type": "boolean",
            "example": true
          },
          "preference": {
            "type": "string",
            "enum": [
              "credit_paypal",
              "ach"
            ],
            "example": "credit_paypal",
            "description": "The payment preference for auto recharge."
          }
        }
      },
      "AutoRespConfigCreateSchema": {
        "title": "AutoRespConfigCreateSchema",
        "required": [
          "op",
          "keywords",
          "country_code"
        ],
        "type": "object",
        "properties": {
          "op": {
            "title": "Op",
            "enum": [
              "start",
              "stop",
              "info"
            ],
            "type": "string"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "keyword1",
              "keyword2"
            ]
          },
          "resp_text": {
            "title": "Resp Text",
            "type": "string",
            "example": "Thank you for your message"
          },
          "country_code": {
            "title": "Country Code",
            "type": "string",
            "example": "US"
          }
        }
      },
      "AutorespConfigResponseSchema": {
        "title": "AutorespConfigResponseSchema",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AutorespConfigSchema"
          }
        }
      },
      "AutorespConfigSchema": {
        "title": "AutorespConfigSchema",
        "required": [
          "op",
          "keywords",
          "country_code",
          "id",
          "created_at",
          "updated_at"
        ],
        "type": "object",
        "properties": {
          "op": {
            "title": "Op",
            "enum": [
              "start",
              "stop",
              "info"
            ],
            "type": "string",
            "example": "start"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "START",
              "BEGIN"
            ]
          },
          "resp_text": {
            "title": "Resp Text",
            "type": "string",
            "example": "Thank you for subscribing to our service."
          },
          "country_code": {
            "title": "Country Code",
            "type": "string",
            "example": "*"
          },
          "id": {
            "title": "Id",
            "type": "string",
            "example": "b8f9c1c0-5b5a-4b1e-8c1c-0b5a4b1e8c1c"
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AutorespConfigsResponseSchema": {
        "title": "AutorespConfigsResponseSchema",
        "description": "List of Auto-Response Settings",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutorespConfigSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/messaging_PaginationMeta"
          }
        }
      },
      "AvailablePhoneNumber": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "available_phone_number",
            "enum": [
              "available_phone_number"
            ]
          },
          "phone_number": {
            "type": "string",
            "example": "+19705555098"
          },
          "vanity_format": {
            "type": "string"
          },
          "best_effort": {
            "type": "boolean",
            "description": "Specifies whether the phone number is an exact match based on the search criteria or not.",
            "example": false
          },
          "quickship": {
            "type": "boolean",
            "description": "Specifies whether the phone number can receive calls immediately after purchase or not.",
            "example": true
          },
          "reservable": {
            "type": "boolean",
            "description": "Specifies whether the phone number can be reserved before purchase or not.",
            "example": true
          },
          "region_information": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegionInformation"
            }
          },
          "cost_information": {
            "$ref": "#/components/schemas/CostInformation"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          }
        },
        "example": {
          "record_type": "available_phone_number",
          "phone_number": "+19705555098",
          "vanity_format": "",
          "best_effort": false,
          "quickship": true,
          "reservable": true,
          "region_information": [
            {
              "region_type": "country_code",
              "region_name": "US"
            }
          ],
          "cost_information": {
            "upfront_cost": "3.21",
            "monthly_cost": "6.54",
            "currency": "USD"
          },
          "features": [
            {
              "name": "sms"
            },
            {
              "name": "voice"
            }
          ]
        }
      },
      "AvailablePhoneNumberBlock": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "available_phone_number_block",
            "enum": [
              "available_phone_number_block"
            ]
          },
          "phone_number": {
            "type": "string",
            "example": "+19705555000"
          },
          "range": {
            "type": "integer",
            "example": 10
          },
          "region_information": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegionInformation"
            }
          },
          "cost_information": {
            "$ref": "#/components/schemas/CostInformation"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          }
        },
        "example": {
          "record_type": "available_phone_number_block",
          "phone_number": "+19705555000",
          "range": 10,
          "region_information": [
            {
              "region_type": "country_code",
              "region_name": "US"
            }
          ],
          "cost_information": {
            "upfront_cost": "3.21",
            "monthly_cost": "6.54",
            "currency": "USD"
          },
          "features": [
            {
              "name": "sms"
            },
            {
              "name": "voice"
            }
          ]
        }
      },
      "AvailablePhoneNumbersMetadata": {
        "type": "object",
        "example": {
          "total_results": 100,
          "best_effort_results": 50
        },
        "properties": {
          "total_results": {
            "type": "integer",
            "example": 1
          },
          "best_effort_results": {
            "type": "integer",
            "example": 0
          }
        }
      },
      "AvailableService": {
        "type": "string",
        "title": "Available service",
        "enum": [
          "cloud_vpn",
          "private_wireless_gateway",
          "virtual_cross_connect"
        ]
      },
      "AwsAccessKeyId": {
        "description": "AWS credentials access key id.",
        "type": "string",
        "example": "AKIAIOSFODNN7EXAMPLE"
      },
      "AwsProviderParams": {
        "type": "object",
        "description": "AWS Polly provider-specific parameters.",
        "properties": {
          "language_code": {
            "type": "string",
            "description": "Language code (e.g. `en-US`, `es-ES`)."
          },
          "text_type": {
            "type": "string",
            "description": "Input text type.",
            "enum": [
              "text",
              "ssml"
            ]
          },
          "lexicon_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of lexicon names to apply."
          },
          "output_format": {
            "type": "string",
            "description": "Audio output format."
          },
          "sample_rate": {
            "type": "string",
            "description": "Audio sample rate."
          }
        }
      },
      "AwsSecretAccessKey": {
        "description": "AWS secret access key.",
        "type": "string",
        "example": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
      },
      "AzureAccountKey": {
        "description": "Azure Blob Storage account key.",
        "type": "string",
        "example": "bPxRfiCYEXAMPLEKEY"
      },
      "AzureAccountName": {
        "description": "Azure Blob Storage account name.",
        "type": "string",
        "example": "my-account"
      },
      "AzureConfigurationData": {
        "type": "object",
        "title": "Azure Blob Storage Configuration Data",
        "properties": {
          "backend": {
            "type": "string",
            "enum": [
              "azure"
            ],
            "description": "Storage backend type"
          },
          "bucket": {
            "$ref": "#/components/schemas/Bucket"
          },
          "account_name": {
            "$ref": "#/components/schemas/AzureAccountName"
          },
          "account_key": {
            "$ref": "#/components/schemas/AzureAccountKey"
          }
        },
        "required": [
          "backend"
        ]
      },
      "AzureProviderParams": {
        "type": "object",
        "description": "Azure Cognitive Services provider-specific parameters.",
        "properties": {
          "language_code": {
            "type": "string",
            "description": "Language code (e.g. `en-US`).",
            "default": "en-US"
          },
          "output_format": {
            "type": "string",
            "description": "Azure audio output format.",
            "default": "audio-24khz-160kbitrate-mono-mp3"
          },
          "text_type": {
            "type": "string",
            "description": "Input text type. Use `ssml` for SSML-formatted input.",
            "enum": [
              "text",
              "ssml"
            ],
            "default": "text"
          },
          "api_key": {
            "type": "string",
            "description": "Custom Azure API key. If not provided, the default Telnyx key is used."
          },
          "region": {
            "type": "string",
            "description": "Azure region (e.g. `eastus`, `westeurope`)."
          },
          "deployment_id": {
            "type": "string",
            "description": "Custom Azure deployment ID."
          },
          "effect": {
            "type": "string",
            "description": "Azure audio effect to apply."
          },
          "gender": {
            "type": "string",
            "description": "Voice gender preference."
          }
        }
      },
      "AzureTranscriptionLanguage": {
        "title": "Azure transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition",
        "example": "en",
        "default": "en",
        "enum": [
          "af",
          "am",
          "ar",
          "bg",
          "bn",
          "bs",
          "ca",
          "cs",
          "cy",
          "da",
          "de",
          "el",
          "en",
          "es",
          "et",
          "eu",
          "fa",
          "fi",
          "fr",
          "ga",
          "gl",
          "gu",
          "he",
          "hi",
          "hr",
          "hu",
          "hy",
          "id",
          "is",
          "it",
          "ja",
          "ka",
          "kk",
          "km",
          "kn",
          "ko",
          "lo",
          "lt",
          "lv",
          "mk",
          "ml",
          "mn",
          "mr",
          "ms",
          "mt",
          "my",
          "nb",
          "ne",
          "nl",
          "pl",
          "ps",
          "pt",
          "ro",
          "ru",
          "si",
          "sk",
          "sl",
          "so",
          "sq",
          "sr",
          "sv",
          "sw",
          "ta",
          "te",
          "th",
          "tr",
          "uk",
          "ur",
          "uz",
          "vi",
          "wuu",
          "yue",
          "zh",
          "zu",
          "auto"
        ]
      },
      "AzureTranscriptionRegion": {
        "title": "Azure transcription engine list of regions",
        "type": "string",
        "description": "Azure region to use for speech recognition",
        "example": "eastus",
        "enum": [
          "australiaeast",
          "centralindia",
          "eastus",
          "northcentralus",
          "westeurope",
          "westus2"
        ]
      },
      "AzureVoiceSettings": {
        "type": "object",
        "title": "Azure Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "azure"
            ],
            "description": "Voice settings provider type"
          },
          "api_key_ref": {
            "description": "The `identifier` for an integration secret that refers to your Azure Speech API key.",
            "type": "string",
            "example": "my_azure_api_key"
          },
          "region": {
            "description": "The Azure region for the Speech service (e.g., `eastus`, `westeurope`). Required when using a custom API key.",
            "type": "string",
            "example": "eastus"
          },
          "deployment_id": {
            "description": "The deployment ID for a custom Azure neural voice.",
            "type": "string",
            "example": "my-custom-voice-deployment"
          },
          "effect": {
            "description": "Audio effect to apply.",
            "type": "string",
            "enum": [
              "eq_car",
              "eq_telecomhp8k"
            ]
          },
          "gender": {
            "description": "Voice gender filter.",
            "type": "string",
            "enum": [
              "Male",
              "Female"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "BackgroundTaskStatus": {
        "type": "string",
        "enum": [
          "queued",
          "processing",
          "success",
          "failure",
          "partial_success"
        ],
        "title": "BackgroundTaskStatus",
        "description": "Status of an embeddings task."
      },
      "BackgroundTasksQueryResponse": {
        "properties": {
          "user_id": {
            "type": "string",
            "title": "User Id"
          },
          "task_id": {
            "type": "string",
            "title": "Task Id"
          },
          "task_name": {
            "type": "string",
            "title": "Task Name"
          },
          "status": {
            "$ref": "#/components/schemas/BackgroundTaskStatus"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "finished_at": {
            "type": "string",
            "format": "date-time",
            "title": "Finished At"
          },
          "bucket": {
            "type": "string",
            "title": "Bucket"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "task_id",
          "task_name",
          "status",
          "created_at"
        ],
        "title": "BackgroundTasksQueryResponse"
      },
      "BackgroundTasksQueryResponseData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BackgroundTasksQueryResponse"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "BackgroundTasksQueryResponseData"
      },
      "Base64AudioResponse": {
        "type": "object",
        "description": "Response when `output_type` is `base64_output`.",
        "properties": {
          "base64_audio": {
            "type": "string",
            "description": "Base64-encoded audio data."
          }
        }
      },
      "BillingAddress": {
        "type": "object",
        "required": [
          "country",
          "administrative_area",
          "city",
          "postal_code",
          "street_address"
        ],
        "properties": {
          "country": {
            "type": "string",
            "maxLength": 100,
            "description": "Country name (e.g., United States)",
            "example": "United States"
          },
          "administrative_area": {
            "type": "string",
            "maxLength": 100,
            "description": "State or province",
            "example": "Illinois"
          },
          "city": {
            "type": "string",
            "maxLength": 100,
            "description": "City name",
            "example": "Chicago"
          },
          "postal_code": {
            "type": "string",
            "maxLength": 20,
            "description": "ZIP or postal code",
            "example": "60601"
          },
          "street_address": {
            "type": "string",
            "maxLength": 255,
            "description": "Street address",
            "example": "123 Main St"
          },
          "extended_address": {
            "type": "string",
            "nullable": true,
            "maxLength": 255,
            "description": "Additional address line (suite, apt, etc.)",
            "example": "Suite 400"
          }
        }
      },
      "BillingBundleResponse": {
        "title": "BillingBundleResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/BillingBundleSchema"
          }
        }
      },
      "BillingBundleSchema": {
        "title": "BillingBundleSchema",
        "required": [
          "id",
          "name",
          "cost_code",
          "active",
          "is_public",
          "created_at",
          "bundle_limits"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid",
            "example": "7ecd040e-6bac-4139-9160-3c0427d98fea",
            "description": "Bundle's ID, this is used to identify the bundle in the API."
          },
          "name": {
            "title": "Name",
            "type": "string",
            "example": "Australia Basic",
            "description": "Bundle's name, this is used to identify the bundle in the UI."
          },
          "slug": {
            "title": "Slug",
            "type": "string",
            "example": "basic-au-e4f8",
            "description": "Slugified version of the bundle's name."
          },
          "cost_code": {
            "title": "Cost Code",
            "type": "string",
            "example": "BUNDLE-PRICING-BASIC-MRC",
            "description": "Bundle's cost code, this is used to identify the bundle in the billing system."
          },
          "active": {
            "title": "Active",
            "type": "boolean",
            "description": "If that bundle is active or not."
          },
          "is_public": {
            "title": "Is Public",
            "type": "boolean",
            "description": "Available to all customers or only to specific customers."
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date",
            "description": "Date the bundle was created."
          },
          "bundle_limits": {
            "title": "Bundle Limits",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BundleLimitSchema"
            }
          }
        }
      },
      "BillingBundleSummary": {
        "title": "BillingBundleSummary",
        "required": [
          "id",
          "name",
          "cost_code",
          "is_public",
          "created_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid",
            "example": "7ecd040e-6bac-4139-9160-3c0427d98fea",
            "description": "Bundle's ID, this is used to identify the bundle in the API."
          },
          "name": {
            "title": "Name",
            "type": "string",
            "example": "Australia Basic",
            "description": "Bundle's name, this is used to identify the bundle in the UI."
          },
          "slug": {
            "title": "Slug",
            "type": "string",
            "example": "basic-au-e4f8",
            "description": "Slugified version of the bundle's name."
          },
          "cost_code": {
            "title": "Cost Code",
            "type": "string",
            "example": "BUNDLE-PRICING-BASIC-MRC",
            "description": "Bundle's cost code, this is used to identify the bundle in the billing system."
          },
          "is_public": {
            "title": "Is Public",
            "type": "boolean",
            "description": "Available to all customers or only to specific customers."
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date",
            "description": "Date the bundle was created."
          },
          "mrc_price": {
            "title": "Mrc Price",
            "type": "number",
            "format": "float",
            "example": 2,
            "description": "Monthly recurring charge price."
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "example": "USD",
            "description": "Bundle's currency code."
          },
          "specs": {
            "title": "Specs",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "1 AU Number",
              "Emergency Calling",
              "All inbound and outbound calling billed pay-as-you-go"
            ]
          }
        }
      },
      "BillingContact": {
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "email",
          "phone_number"
        ],
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 255,
            "description": "Contact's first name",
            "example": "John"
          },
          "last_name": {
            "type": "string",
            "maxLength": 255,
            "description": "Contact's last name",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 255,
            "description": "Contact's email address",
            "example": "billing@acme.com"
          },
          "phone_number": {
            "type": "string",
            "maxLength": 20,
            "description": "Contact's phone number (10-15 digits)",
            "example": "15551234568"
          }
        }
      },
      "BillingGroup": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "billing_group"
            ],
            "description": "Identifies the type of the resource.",
            "example": "billing_group"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource.",
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd"
          },
          "organization_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the organization that owns the resource.",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "name": {
            "type": "string",
            "description": "A user-specified name for the billing group",
            "example": "My billing group name"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was removed.",
            "example": null
          }
        },
        "example": {
          "record_type": "billing_group",
          "id": "f5586561-8ff0-4291-a0ac-84fe544797bd",
          "organization_id": "f1486bae-f067-460c-ad43-73a92848f902",
          "name": "My billing group name",
          "created_at": "2019-10-15T10:07:15.527Z",
          "updated_at": "2019-10-15T10:07:15.527Z",
          "deleted_at": null
        }
      },
      "BlackBoxTestResult": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "black_box_test"
          },
          "id": {
            "type": "string",
            "description": "The name of the black box test.",
            "example": "msg_overview_outbound_sms"
          },
          "result": {
            "type": "number",
            "description": "The average result of the black box test over the last hour.",
            "example": 0.999
          }
        }
      },
      "BlackBoxTestResultSet": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "black_box_test_result"
          },
          "product": {
            "type": "string",
            "example": "cloud_storage",
            "description": "The product associated with the black box test group."
          },
          "black_box_tests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BlackBoxTestResult"
            }
          }
        }
      },
      "BookAppointmentTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "book_appointment"
            ]
          },
          "book_appointment": {
            "$ref": "#/components/schemas/BookAppointmentToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "book_appointment"
        ],
        "title": "BookAppointmentTool"
      },
      "BookAppointmentToolParams": {
        "properties": {
          "event_type_id": {
            "type": "integer",
            "description": "Event Type ID for which slots are being fetched. [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-event-type-id)"
          },
          "api_key_ref": {
            "type": "string",
            "description": "Reference to an integration secret that contains your Cal.com API key. You would pass the `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your Cal.com API key.",
            "example": "my_calcom_api_key"
          },
          "attendee_name": {
            "type": "string",
            "description": "The name of the attendee [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-attendee-name). If not provided, the assistant will ask for the attendee's name."
          },
          "attendee_timezone": {
            "type": "string",
            "description": "The timezone of the attendee [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-attendee-timezone). If not provided, the assistant will ask for the attendee's timezone."
          }
        },
        "type": "object",
        "required": [
          "event_type_id",
          "api_key_ref"
        ],
        "title": "BookAppointmentToolParams"
      },
      "BrandBasic": {
        "title": "ListedBrand",
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "Unique identifier assigned to the brand.",
            "example": "4b206179-f731-8ab7-f19c-34e19d22ide9"
          },
          "tcrBrandId": {
            "type": "string",
            "description": "Unique identifier assigned to the brand by the registry.",
            "example": "BBRAND1"
          },
          "entityType": {
            "$ref": "#/components/schemas/EntityType"
          },
          "identityStatus": {
            "$ref": "#/components/schemas/BrandIdentityStatus"
          },
          "companyName": {
            "type": "string",
            "description": "(Required for Non-profit/private/public) Legal company name.",
            "example": "Example Company Inc."
          },
          "displayName": {
            "type": "string",
            "description": "Display or marketing name of the brand.",
            "example": "Example Company"
          },
          "email": {
            "type": "string",
            "description": "Valid email address of brand support contact.",
            "example": "examplename@examplecompany.com"
          },
          "website": {
            "type": "string",
            "description": "Brand website URL.",
            "example": "www.examplecompany.com"
          },
          "failureReasons": {
            "title": "failureReasons",
            "description": "Failure reasons for brand",
            "type": "string"
          },
          "status": {
            "title": "status",
            "description": "Status of the brand",
            "enum": [
              "OK",
              "REGISTRATION_PENDING",
              "REGISTRATION_FAILED"
            ],
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time that the brand was created at.",
            "example": "2021-03-08T17:57:48.801186"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date and time that the brand was last updated at.",
            "example": "2021-03-08T17:57:48.801186"
          },
          "assignedCampaingsCount": {
            "type": "integer",
            "description": "Number of campaigns associated with the brand",
            "example": 2
          }
        }
      },
      "BrandFeedback": {
        "title": "BrandFeedback",
        "required": [
          "brandId",
          "category"
        ],
        "type": "object",
        "properties": {
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "ID of the brand being queried about",
            "example": "d88dd2aa-1bb9-4ef0-9ec8-1752b80316a5"
          },
          "category": {
            "title": "Category",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BrandFeedbackCategory"
            },
            "description": "A list of reasons why brand creation/revetting didn't go as planned"
          }
        }
      },
      "BrandFeedbackCategory": {
        "title": "BrandFeedbackCategory",
        "required": [
          "id",
          "displayName",
          "description",
          "fields"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "description": "One of `TAX_ID`, `STOCK_SYMBOL`, `GOVERNMENT_ENTITY`, `NONPROFIT`, and `OTHERS`",
            "example": "TAX_ID"
          },
          "displayName": {
            "title": "Displayname",
            "type": "string",
            "description": "Human-readable version of the `id` field",
            "example": "Tax Id"
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Long-form description of the feedback with additional information",
            "example": "Tax Id does not match with the company name or business type."
          },
          "fields": {
            "title": "Fields",
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of relevant fields in the originally-submitted brand json",
            "example": [
              "ein",
              "companyName",
              "entityType"
            ]
          }
        }
      },
      "BrandIdentityStatus": {
        "title": "BrandIdentityStatus",
        "enum": [
          "VERIFIED",
          "UNVERIFIED",
          "SELF_DECLARED",
          "VETTED_VERIFIED"
        ],
        "description": "The verification status of an active brand",
        "type": "string"
      },
      "BrandOptionalAttributes": {
        "title": "BrandOptionalAttributes",
        "type": "object",
        "properties": {
          "taxExemptStatus": {
            "title": "Taxexemptstatus",
            "type": "string",
            "description": "The tax exempt status of the brand"
          }
        }
      },
      "BrandRecordSetCSP": {
        "title": "BrandRecordSetCSP",
        "type": "object",
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BrandBasic"
            }
          },
          "page": {
            "title": "Page",
            "type": "integer",
            "example": 1
          },
          "totalRecords": {
            "title": "Totalrecords",
            "type": "integer",
            "example": 1
          }
        }
      },
      "BrandRelationship": {
        "title": "BrandRelationship",
        "enum": [
          "BASIC_ACCOUNT",
          "SMALL_ACCOUNT",
          "MEDIUM_ACCOUNT",
          "LARGE_ACCOUNT",
          "KEY_ACCOUNT"
        ],
        "description": "Brand relationship to the CSP.",
        "type": "string"
      },
      "BrandSmsOtpStatus": {
        "title": "BrandSmsOtpStatus",
        "required": [
          "brandId",
          "referenceId",
          "mobilePhone",
          "requestDate",
          "deliveryStatus"
        ],
        "type": "object",
        "properties": {
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "The Brand ID associated with this OTP request",
            "example": "B123ABC"
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "The reference ID for this OTP request, used for status queries",
            "example": "OTP4B2001"
          },
          "mobilePhone": {
            "title": "Mobilephone",
            "type": "string",
            "description": "The mobile phone number where the OTP was sent, in E.164 format",
            "example": "+11234567890"
          },
          "requestDate": {
            "title": "Requestdate",
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the OTP request was initiated",
            "example": "2024-12-03T17:12:33.560000+00:00"
          },
          "verifyDate": {
            "title": "Verifydate",
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the OTP was successfully verified (if applicable)",
            "example": "2024-12-03T17:12:33.560000+00:00"
          },
          "deliveryStatus": {
            "title": "Deliverystatus",
            "type": "string",
            "description": "The current delivery status of the OTP SMS message. Common values include: `DELIVERED_HANDSET`, `PENDING`, `FAILED`, `EXPIRED`",
            "example": "DELIVERED_HANDSET"
          },
          "deliveryStatusDate": {
            "title": "Deliverystatusdate",
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the delivery status was last updated",
            "example": "2024-12-03T17:12:33.560000+00:00"
          },
          "deliveryStatusDetails": {
            "title": "Deliverystatusdetails",
            "type": "string",
            "description": "Additional details about the delivery status",
            "example": "Delivered to handset"
          }
        },
        "description": "Status information for an SMS OTP sent during Sole Proprietor brand verification"
      },
      "BreakdownData": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "User identifier",
            "example": "0db0b4aa-a83d-4d4f-ad9b-3ba7c1ac2ce8"
          },
          "start_date": {
            "type": "string",
            "format": "date",
            "description": "Start date of the breakdown period",
            "example": "2025-05-01"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "description": "End date of the breakdown period",
            "example": "2025-06-01"
          },
          "user_email": {
            "type": "string",
            "format": "email",
            "description": "User email address",
            "example": "user@example.com"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumberBreakdownResult"
            },
            "description": "List of phone number charge breakdowns"
          }
        },
        "required": [
          "user_id",
          "start_date",
          "end_date",
          "user_email",
          "currency",
          "results"
        ]
      },
      "BridgeRequest": {
        "type": "object",
        "title": "Bridge Request",
        "required": [
          "call_control_id"
        ],
        "properties": {
          "call_control_id": {
            "description": "The Call Control ID of the call you want to bridge with, can't be used together with queue parameter or video_room_id parameter.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "queue": {
            "description": "The name of the queue you want to bridge with, can't be used together with call_control_id parameter or video_room_id parameter. Bridging with a queue means bridging with the first call in the queue. The call will always be removed from the queue regardless of whether bridging succeeds. Returns an error when the queue is empty.",
            "type": "string",
            "example": "support"
          },
          "video_room_id": {
            "description": "The ID of the video room you want to bridge with, can't be used together with call_control_id parameter or queue parameter.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "video_room_context": {
            "description": "The additional parameter that will be passed to the video conference. It is a text field and the user can decide how to use it. For example, you can set the participant name or pass JSON text. It can be used only with video_room_id parameter.",
            "type": "string",
            "example": "Alice"
          },
          "prevent_double_bridge": {
            "description": "When set to `true`, it prevents bridging if the target call is already bridged to another call. Disabled by default.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "park_after_unbridge": {
            "description": "Specifies behavior after the bridge ends (i.e. the opposite leg either hangs up or is transferred). If supplied with the value `self`, the current leg will be parked after unbridge. If not set, the default behavior is to hang up the leg.",
            "type": "string",
            "example": "self"
          },
          "play_ringtone": {
            "description": "Specifies whether to play a ringtone if the call you want to bridge with has not yet been answered.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "ringtone": {
            "description": "Specifies which country ringtone to play when `play_ringtone` is set to `true`. If not set, the US ringtone will be played.",
            "type": "string",
            "default": "us",
            "example": "pl",
            "enum": [
              "at",
              "au",
              "be",
              "bg",
              "br",
              "ch",
              "cl",
              "cn",
              "cz",
              "de",
              "dk",
              "ee",
              "es",
              "fi",
              "fr",
              "gr",
              "hu",
              "il",
              "in",
              "it",
              "jp",
              "lt",
              "mx",
              "my",
              "nl",
              "no",
              "nz",
              "ph",
              "pl",
              "pt",
              "ru",
              "se",
              "sg",
              "th",
              "tw",
              "uk",
              "us-old",
              "us",
              "ve",
              "za"
            ]
          },
          "record": {
            "description": "Start recording automatically after an event. Disabled by default.",
            "type": "string",
            "enum": [
              "record-from-answer"
            ],
            "example": "record-from-answer"
          },
          "record_channels": {
            "description": "Defines which channel should be recorded ('single' or 'dual') when `record` is specified.",
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "default": "dual",
            "example": "single"
          },
          "record_format": {
            "description": "Defines the format of the recording ('wav' or 'mp3') when `record` is specified.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "mp3",
            "example": "wav"
          },
          "record_max_length": {
            "description": "Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 1000
          },
          "record_timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 100
          },
          "record_track": {
            "description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
            "type": "string",
            "example": "outbound",
            "default": "both",
            "enum": [
              "both",
              "inbound",
              "outbound"
            ]
          },
          "record_trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "record_custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "mute_dtmf": {
            "description": "When enabled, DTMF tones are not passed to the call participant. The webhooks containing the DTMF information will be sent.",
            "type": "string",
            "enum": [
              "none",
              "both",
              "self",
              "opposite"
            ],
            "default": "none",
            "example": "opposite"
          },
          "hold_after_unbridge": {
            "description": "Specifies behavior after the bridge ends. If set to `true`, the current leg will be put on hold after unbridge instead of being hung up.",
            "type": "boolean",
            "example": true
          }
        },
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "park_after_unbridge": "self"
        }
      },
      "Bucket": {
        "description": "Name of the bucket to be used to store recording files.",
        "type": "string",
        "example": "example-bucket"
      },
      "BucketAPIUsageResponse": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BucketOps"
            }
          },
          "total": {
            "$ref": "#/components/schemas/BucketOpsTotal"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The time the usage was recorded",
            "example": "2020-01-01T00:00:00Z"
          }
        }
      },
      "BucketIds": {
        "properties": {
          "bucket_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "List of [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents) to use for retrieval-augmented generation."
          },
          "max_num_results": {
            "description": "The maximum number of results to retrieve as context for the language model.",
            "type": "integer"
          }
        },
        "type": "object",
        "required": [
          "bucket_ids"
        ],
        "title": "BucketIds"
      },
      "BucketNotFoundError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/NotFoundError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "BucketOps": {
        "type": "object",
        "properties": {
          "bytes_sent": {
            "type": "integer",
            "description": "The number of bytes sent",
            "example": 123456
          },
          "bytes_received": {
            "type": "integer",
            "description": "The number of bytes received",
            "example": 123456
          },
          "ops": {
            "type": "integer",
            "description": "The number of operations",
            "example": 123456
          },
          "successful_ops": {
            "type": "integer",
            "description": "The number of successful operations",
            "example": 123456
          },
          "category": {
            "type": "string",
            "enum": [
              "list_bucket",
              "list_buckets",
              "get-bucket_location",
              "create_bucket",
              "stat_bucket",
              "get_bucket_versioning",
              "set_bucket_versioning",
              "get_obj",
              "put_obj",
              "delete_obj"
            ],
            "description": "The category of the bucket operation",
            "example": "put_obj"
          }
        }
      },
      "BucketOpsTotal": {
        "type": "object",
        "properties": {
          "bytes_sent": {
            "type": "integer",
            "description": "The number of bytes sent",
            "example": 123456
          },
          "bytes_received": {
            "type": "integer",
            "description": "The number of bytes received",
            "example": 123456
          },
          "ops": {
            "type": "integer",
            "description": "The number of operations",
            "example": 123456
          },
          "successful_ops": {
            "type": "integer",
            "description": "The number of successful operations",
            "example": 123456
          }
        }
      },
      "BucketUsage": {
        "type": "object",
        "properties": {
          "size": {
            "type": "integer",
            "description": "The size of the bucket in bytes",
            "example": 123456
          },
          "size_kb": {
            "type": "integer",
            "description": "The size of the bucket in kilobytes",
            "example": 123456
          },
          "num_objects": {
            "type": "integer",
            "description": "The number of objects in the bucket",
            "example": 123456
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The time the snapshot was taken",
            "example": "2020-01-01T00:00:00Z"
          }
        }
      },
      "BulkMessagingSettingsUpdatePhoneNumbers": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "messaging_numbers_bulk_update",
            "enum": [
              "messaging_numbers_bulk_update"
            ],
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Order ID to verify bulk update status.",
            "readOnly": true
          },
          "success": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            },
            "description": "Phoned numbers updated successfully."
          },
          "pending": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            },
            "description": "Phone numbers pending to be updated."
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            },
            "description": "Phone numbers that failed to update."
          }
        },
        "example": {
          "record_type": "messaging_numbers_bulk_update",
          "order_id": "00000000-0000-0000-0000-000000000000",
          "success": [
            "+18880000000",
            "+18880000001",
            "+18880000002"
          ],
          "pending": [],
          "failed": []
        }
      },
      "BulkMessagingSettingsUpdatePhoneNumbersRequest": {
        "type": "object",
        "required": [
          "messaging_profile_id",
          "numbers"
        ],
        "properties": {
          "messaging_profile_id": {
            "type": "string",
            "description": "Configure the messaging profile these phone numbers are assigned to:\n\n* Set this field to `\"\"` to unassign each number from their respective messaging profile\n* Set this field to a quoted UUID of a messaging profile to assign these numbers to that messaging profile"
          },
          "numbers": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            },
            "description": "The list of phone numbers to update."
          },
          "assign_only": {
            "type": "boolean",
            "description": "If true, only assign numbers to the profile without changing other settings.",
            "default": false
          }
        },
        "example": {
          "messaging_profile_id": "00000000-0000-0000-0000-000000000000",
          "numbers": [
            "+18880000000",
            "+18880000001",
            "+18880000002"
          ]
        }
      },
      "BulkSIMCardAction": {
        "type": "object",
        "description": "This object represents a bulk SIM card action. It groups SIM card actions created through a bulk endpoint under a single resource for further lookup.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/wireless_Id"
          },
          "record_type": {
            "type": "string",
            "example": "bulk_sim_card_action",
            "readOnly": true
          },
          "action_type": {
            "type": "string",
            "description": "The action type. It can be one of the following: <br/>\n<ul>\n<li><code>bulk_disable_voice</code> - disable voice for every SIM Card in a SIM Card Group.</li>\n<li><code>bulk_enable_voice</code> - enable voice for every SIM Card in a SIM Card Group.</li>\n<li><code>bulk_set_public_ips</code> - set a public IP for each specified SIM Card.</li>\n</ul>",
            "enum": [
              "bulk_disable_voice",
              "bulk_enable_voice",
              "bulk_set_public_ips"
            ],
            "readOnly": true,
            "example": "bulk_set_public_ips"
          },
          "settings": {
            "type": "object",
            "description": "A JSON object representation of the bulk action payload.",
            "example": {},
            "readOnly": true,
            "additionalProperties": true
          },
          "created_at": {
            "$ref": "#/components/schemas/wireless_CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/wireless_UpdatedAt"
          }
        }
      },
      "BulkSIMCardActionDetailed": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/wireless_Id"
          },
          "record_type": {
            "type": "string",
            "example": "bulk_sim_card_action",
            "readOnly": true
          },
          "action_type": {
            "type": "string",
            "description": "The action type. It can be one of the following: <br/>\n<ul>\n<li><code>bulk_disable_voice</code> - disable voice for every SIM Card in a SIM Card Group.</li>\n<li><code>bulk_enable_voice</code> - enable voice for every SIM Card in a SIM Card Group.</li>\n<li><code>bulk_set_public_ips</code> - set a public IP for each specified SIM Card.</li>\n</ul>",
            "enum": [
              "bulk_disable_voice",
              "bulk_enable_voice",
              "bulk_set_public_ips"
            ],
            "readOnly": true,
            "example": "bulk_set_public_ips"
          },
          "settings": {
            "type": "object",
            "description": "A JSON object representation of the bulk action payload.",
            "example": {},
            "readOnly": true,
            "additionalProperties": true
          },
          "sim_card_actions_summary": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SIMCardActionsSummary"
            }
          },
          "created_at": {
            "$ref": "#/components/schemas/wireless_CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/wireless_UpdatedAt"
          }
        }
      },
      "BundleLimitDirection": {
        "title": "BundleLimitDirection",
        "enum": [
          "inbound",
          "outbound"
        ],
        "type": "string",
        "description": "An enumeration."
      },
      "BundleLimitSchema": {
        "title": "BundleLimitSchema",
        "required": [
          "id",
          "service",
          "metric",
          "created_at",
          "updated_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid",
            "example": "e6a32ea9-953b-4622-bbba-9f7bcf7e6717"
          },
          "service": {
            "title": "Service",
            "type": "string",
            "example": "E911"
          },
          "metric": {
            "title": "Metric",
            "type": "string",
            "example": "number"
          },
          "limit": {
            "title": "Limit",
            "type": "integer",
            "example": 1
          },
          "rate": {
            "title": "Rate",
            "type": "string",
            "example": "5"
          },
          "country_iso": {
            "title": "Country Iso",
            "type": "string",
            "example": "AU"
          },
          "country_code": {
            "title": "Country Code",
            "type": "integer",
            "example": 61
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Use country_iso instead",
            "deprecated": true
          },
          "direction": {
            "$ref": "#/components/schemas/BundleLimitDirection"
          },
          "types": {
            "title": "Types",
            "type": "array",
            "items": {
              "type": "string",
              "example": "local"
            }
          },
          "created_at": {
            "title": "Created At",
            "type": "string",
            "format": "date"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string",
            "format": "date"
          },
          "billing_service": {
            "title": "Billing Service",
            "type": "string",
            "example": "emergency"
          }
        }
      },
      "Call": {
        "type": "object",
        "title": "Call",
        "required": [
          "call_control_id",
          "call_leg_id",
          "call_session_id",
          "is_alive",
          "record_type"
        ],
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "call_leg_id": "2dc6fc34-f9e0-11ea-b68e-02420a0f7768",
          "call_session_id": "2dc1b3c8-f9e0-11ea-bc5a-02420a0f7768",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "is_alive": false,
          "call_duration": 50,
          "start_time": "2019-01-23T18:10:02.574Z",
          "end_time": "2019-01-23T18:11:52.574Z",
          "record_type": "call"
        },
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "call"
            ],
            "example": "call"
          },
          "call_session_id": {
            "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b68e-5013ef9657c1"
          },
          "call_leg_id": {
            "description": "ID that is unique to the call and can be used to correlate webhook events",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1"
          },
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "is_alive": {
            "description": "Indicates whether the call is alive or not. For Dial command it will always be `false` (dialing is asynchronous).",
            "type": "boolean",
            "example": true
          },
          "client_state": {
            "description": "State received from a command.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "call_duration": {
            "description": "Indicates the duration of the call in seconds",
            "type": "integer",
            "example": 50
          },
          "start_time": {
            "description": "ISO 8601 formatted date indicating when the call started",
            "type": "string",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "end_time": {
            "description": "ISO 8601 formatted date indicating when the call ended. Only present when the call is not alive",
            "type": "string",
            "example": "2019-01-23T18:11:52.574Z"
          }
        }
      },
      "CallAIGatherEnded": {
        "type": "object",
        "title": "Call AI Gather Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.ai_gather.ended",
            "enum": [
              "call.ai_gather.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Telnyx connection ID used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "message_history": {
                "description": "The history of the messages exchanged during the AI gather",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "example": "Hello, I'm 29 and I live in Paris.",
                      "description": "The content of the message"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "assistant",
                        "user"
                      ],
                      "example": "user",
                      "description": "The role of the message sender"
                    }
                  }
                }
              },
              "result": {
                "type": "object",
                "description": "The result of the AI gather, its type depends of the `parameters` provided in the command",
                "example": {
                  "age": 29,
                  "city": "Paris"
                }
              },
              "status": {
                "type": "string",
                "enum": [
                  "valid",
                  "invalid"
                ],
                "example": "valid",
                "description": "Reflects how command ended."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.ai_gather.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "status": "valid",
            "message_history": [
              {
                "content": "Hello, can you tell me your age and where you live?",
                "role": "assistant"
              },
              {
                "content": "Hello, I'm 29 and I live in Paris?",
                "role": "user"
              }
            ],
            "result": {
              "age": 29,
              "city": "Paris"
            }
          }
        }
      },
      "CallAIGatherEndedEvent": {
        "type": "object",
        "title": "Call AI Gather Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallAIGatherEnded"
          }
        }
      },
      "CallAIGatherMessageHistoryUpdated": {
        "type": "object",
        "title": "Call AI Gather Message History Updated",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.ai_gather.message_history_updated",
            "enum": [
              "call.ai_gather.message_history_updated"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Telnyx connection ID used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "message_history": {
                "description": "The history of the messages exchanged during the AI gather",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "example": "Hello, I'm 29 and I live in Paris.",
                      "description": "The content of the message"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "assistant",
                        "user"
                      ],
                      "example": "user",
                      "description": "The role of the message sender"
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.ai_gather.message_history_updated",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "message_history": [
              {
                "content": "Hello, can you tell me your age and where you live?",
                "role": "assistant"
              },
              {
                "content": "Hello, I'm 29 and I live in Paris?",
                "role": "user"
              }
            ]
          }
        }
      },
      "CallAIGatherMessageHistoryUpdatedEvent": {
        "type": "object",
        "title": "Call AI Gather Message History Updated Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallAIGatherMessageHistoryUpdated"
          }
        }
      },
      "CallAIGatherPartialResults": {
        "type": "object",
        "title": "Call AI Gather Partial Results",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.ai_gather.partial_results",
            "enum": [
              "call.ai_gather.partial_results"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Telnyx connection ID used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "message_history": {
                "description": "The history of the messages exchanged during the AI gather",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "string",
                      "example": "Hello, I'm 29 and I live in Paris.",
                      "description": "The content of the message"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "assistant",
                        "user"
                      ],
                      "example": "user",
                      "description": "The role of the message sender"
                    }
                  }
                }
              },
              "partial_results": {
                "type": "object",
                "description": "The partial result of the AI gather, its type depends of the `parameters` provided in the command",
                "example": {
                  "age": 29,
                  "city": "Paris"
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.ai_gather.partial_results",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQ",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "message_history": [
              {
                "content": "Hello, can you tell me your age and where you live?",
                "role": "assistant"
              },
              {
                "content": "Hello, I'm 29 and I live in Paris?",
                "role": "user"
              }
            ],
            "partial_results": {
              "age": 29,
              "city": "Paris"
            }
          }
        }
      },
      "CallAIGatherPartialResultsEvent": {
        "type": "object",
        "title": "Call AI Gather Partial Results Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallAIGatherPartialResults"
          }
        }
      },
      "CallAnswered": {
        "type": "object",
        "title": "Call Answered",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.answered",
            "enum": [
              "call.answered"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "custom_headers": {
                "description": "Custom headers set on answer command",
                "type": "array",
                "example": [
                  {
                    "name": "head_1",
                    "value": "val_1"
                  },
                  {
                    "name": "head_2",
                    "value": "val_2"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/CustomSipHeader"
                }
              },
              "sip_headers": {
                "description": "User-to-User and Diversion headers from sip invite.",
                "type": "array",
                "example": [
                  {
                    "name": "User-to-User",
                    "value": "1234"
                  },
                  {
                    "name": "User-to-User",
                    "value": "<sip:111@192.168.1.1>"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/SipHeader"
                }
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "start_time": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:20:27.521992Z",
                "description": "ISO 8601 datetime of when the call started."
              },
              "state": {
                "type": "string",
                "example": "answered",
                "enum": [
                  "answered"
                ],
                "description": "State received from a command."
              },
              "tags": {
                "description": "Array of tags associated to number.",
                "example": [
                  "tag-01",
                  "tag-02"
                ],
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.answered",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "start_time": "2018-02-02T22:25:27.521992Z",
            "state": "answered"
          }
        }
      },
      "CallAnsweredEvent": {
        "type": "object",
        "title": "Call Answered Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallAnswered"
          }
        }
      },
      "CallAssistantRequest": {
        "type": "object",
        "description": "AI Assistant configuration. All fields except `id` are optional — the assistant's stored configuration will be used as fallback for any omitted fields.",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The identifier of the AI assistant to use."
          },
          "model": {
            "type": "string",
            "description": "LLM model override for this call. If omitted, the assistant's configured model is used.",
            "example": "gpt-4o"
          },
          "name": {
            "type": "string",
            "description": "Assistant name override for this call."
          },
          "instructions": {
            "type": "string",
            "description": "System instructions for the voice assistant. Can be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). This will overwrite the instructions set in the assistant configuration.",
            "example": "You are a friendly voice assistant."
          },
          "greeting": {
            "type": "string",
            "maxLength": 3000,
            "description": "Initial greeting text spoken when the assistant starts. Can be plain text for any voice or SSML for `AWS.Polly.<voice_id>` voices. There is a 3,000 character limit."
          },
          "tools": {
            "type": "array",
            "description": "Inline tool definitions available to the assistant (webhook, retrieval, transfer, hangup, etc.). Overrides the assistant's stored tools if provided.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/BookAppointmentTool"
                },
                {
                  "$ref": "#/components/schemas/CheckAvailabilityTool"
                },
                {
                  "$ref": "#/components/schemas/WebhookTool"
                },
                {
                  "$ref": "#/components/schemas/HangupTool"
                },
                {
                  "$ref": "#/components/schemas/TransferTool"
                },
                {
                  "$ref": "#/components/schemas/CallControlRetrievalTool"
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "book_appointment": "#/components/schemas/BookAppointmentTool",
                  "check_availability": "#/components/schemas/CheckAvailabilityTool",
                  "webhook": "#/components/schemas/WebhookTool",
                  "hangup": "#/components/schemas/HangupTool",
                  "transfer": "#/components/schemas/TransferTool",
                  "retrieval": "#/components/schemas/CallControlRetrievalTool"
                }
              }
            }
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "Integration secret identifier for the LLM provider API key. Use this field to reference an [integration secret](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) containing your LLM provider API key. Supports any LLM provider (OpenAI, Anthropic, etc.).",
            "example": "my_llm_api_key"
          },
          "openai_api_key_ref": {
            "type": "string",
            "description": "Deprecated — use `llm_api_key_ref` instead. Integration secret identifier for the OpenAI API key. This field is maintained for backward compatibility; `llm_api_key_ref` is the canonical field name and supports all LLM providers.",
            "deprecated": true,
            "x-sdk-deprecation-message": "Use llm_api_key_ref instead",
            "example": "my_openai_api_key"
          },
          "dynamic_variables": {
            "type": "object",
            "description": "Map of dynamic variables and their default values. Dynamic variables can be referenced in instructions, greeting, and tool definitions using the `{{variable_name}}` syntax. Call-control-agent automatically merges in `telnyx_call_*` variables (telnyx_call_to, telnyx_call_from, telnyx_conversation_channel, telnyx_agent_target, telnyx_end_user_target, telnyx_call_caller_id_name) and custom header variables.",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "example": {
              "customer_name": "John",
              "account_id": "ACC-12345"
            }
          },
          "fallback_config": {
            "type": "object",
            "description": "Fallback LLM configuration used when the primary LLM provider is unavailable.",
            "properties": {
              "model": {
                "type": "string",
                "description": "Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable."
              },
              "llm_api_key_ref": {
                "type": "string",
                "description": "Integration secret identifier for the fallback model API key."
              },
              "external_llm": {
                "type": "object",
                "description": "External LLM fallback configuration.",
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Model identifier to use with the external LLM endpoint."
                  },
                  "base_url": {
                    "type": "string",
                    "description": "Base URL for the external LLM endpoint."
                  },
                  "llm_api_key_ref": {
                    "type": "string",
                    "description": "Integration secret identifier for the external LLM API key."
                  },
                  "authentication_method": {
                    "type": "string",
                    "enum": [
                      "token",
                      "certificate"
                    ],
                    "default": "token",
                    "description": "Authentication method used when connecting to the external LLM endpoint."
                  },
                  "certificate_ref": {
                    "type": "string",
                    "description": "Integration secret identifier for the client certificate used with certificate authentication."
                  },
                  "token_retrieval_url": {
                    "type": "string",
                    "description": "URL used to retrieve an access token when certificate authentication is enabled."
                  },
                  "forward_metadata": {
                    "type": "boolean",
                    "default": false,
                    "description": "When enabled, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint. Defaults to false. The chat completion request includes a top-level `extra_metadata` object when dynamic variables are available. For example: `{\"extra_metadata\":{\"customer_name\":\"Jane\",\"account_id\":\"acct_789\",\"telnyx_agent_target\":\"+13125550100\",\"telnyx_end_user_target\":\"+13125550123\"}}`."
                  }
                }
              }
            }
          },
          "external_llm": {
            "type": "object",
            "description": "External LLM configuration for bringing your own LLM endpoint.",
            "properties": {
              "model": {
                "type": "string",
                "description": "Model identifier to use with the external LLM endpoint."
              },
              "base_url": {
                "type": "string",
                "description": "Base URL for the external LLM endpoint."
              },
              "llm_api_key_ref": {
                "type": "string",
                "description": "Integration secret identifier for the external LLM API key."
              },
              "authentication_method": {
                "type": "string",
                "enum": [
                  "token",
                  "certificate"
                ],
                "default": "token",
                "description": "Authentication method used when connecting to the external LLM endpoint."
              },
              "certificate_ref": {
                "type": "string",
                "description": "Integration secret identifier for the client certificate used with certificate authentication."
              },
              "token_retrieval_url": {
                "type": "string",
                "description": "URL used to retrieve an access token when certificate authentication is enabled."
              },
              "forward_metadata": {
                "type": "boolean",
                "default": false,
                "description": "When enabled, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint. Defaults to false. The chat completion request includes a top-level `extra_metadata` object when dynamic variables are available. For example: `{\"extra_metadata\":{\"customer_name\":\"Jane\",\"account_id\":\"acct_789\",\"telnyx_agent_target\":\"+13125550100\",\"telnyx_end_user_target\":\"+13125550123\"}}`."
              }
            }
          },
          "mcp_servers": {
            "type": "array",
            "description": "MCP (Model Context Protocol) server configurations for extending the assistant's capabilities with external tools and data sources.",
            "items": {
              "type": "object",
              "properties": {}
            }
          },
          "observability_settings": {
            "type": "object",
            "description": "Observability configuration for the assistant session, including Langfuse integration for tracing and monitoring.",
            "properties": {}
          }
        }
      },
      "CallBridged": {
        "type": "object",
        "title": "Call Bridged",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.bridged",
            "enum": [
              "call.bridged"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.bridged",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860"
          }
        }
      },
      "CallBridgedEvent": {
        "type": "object",
        "title": "Call Bridged Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallBridged"
          }
        }
      },
      "CallControlApplication": {
        "type": "object",
        "title": "Call Control Application",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Specifies whether the connection can be used.",
            "default": true
          },
          "anchorsite_override": {
            "type": "string",
            "description": "<code>Latency</code> directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.\n",
            "enum": [
              "Latency",
              "Chicago, IL",
              "Ashburn, VA",
              "San Jose, CA",
              "London, UK",
              "Chennai, IN",
              "Amsterdam, Netherlands",
              "Toronto, Canada",
              "Sydney, Australia"
            ],
            "example": "Amsterdam, Netherlands",
            "default": "Latency"
          },
          "application_name": {
            "type": "string",
            "description": "A user-assigned name to help manage the application.",
            "example": "call-router"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was created",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "dtmf_type": {
            "type": "string",
            "description": "Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.",
            "enum": [
              "RFC 2833",
              "Inband",
              "SIP INFO"
            ],
            "example": "Inband",
            "default": "RFC 2833"
          },
          "first_command_timeout": {
            "type": "boolean",
            "description": "Specifies whether calls to phone numbers associated with this connection should hangup after timing out.",
            "example": true,
            "default": false
          },
          "first_command_timeout_secs": {
            "type": "integer",
            "description": "Specifies how many seconds to wait before timing out a dial command.",
            "example": 10,
            "default": 30
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to the Call Control Application."
          },
          "id": {
            "type": "string",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "inbound": {
            "$ref": "#/components/schemas/CallControlApplicationInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CallControlApplicationOutbound"
          },
          "record_type": {
            "type": "string",
            "enum": [
              "call_control_application"
            ],
            "default": "call_control_application"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was last updated",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as `https`.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_event_url": {
            "type": "string",
            "format": "url",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as `https`.",
            "example": "https://example.com"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this Call Control Application.",
            "default": false
          },
          "redact_dtmf_debug_logging": {
            "type": "boolean",
            "description": "When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions.",
            "example": true,
            "default": false
          }
        },
        "example": {
          "active": false,
          "anchorsite_override": "Latency",
          "application_name": "call-router",
          "created_at": "2018-02-02T22:25:27.521Z",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "id": "1293384261075731499",
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "record_type": "call_control_application",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "webhook_api_version": "1",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_event_url": "https://example.com",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "redact_dtmf_debug_logging": true
        }
      },
      "CallControlApplicationInbound": {
        "type": "object",
        "title": "Call Control Application Inbound",
        "properties": {
          "channel_limit": {
            "type": "integer",
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection.",
            "example": 10,
            "default": null
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls.",
            "default": false,
            "example": false
          },
          "sip_subdomain": {
            "type": "string",
            "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
            "example": "example",
            "default": null
          },
          "sip_subdomain_receive_settings": {
            "type": "string",
            "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
            "enum": [
              "only_my_connections",
              "from_anyone"
            ],
            "example": "only_my_connections",
            "default": "from_anyone"
          }
        }
      },
      "CallControlApplicationOutbound": {
        "type": "object",
        "title": "Call Control Application Outbound",
        "properties": {
          "channel_limit": {
            "type": "integer",
            "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection.",
            "example": 10,
            "default": null
          },
          "outbound_voice_profile_id": {
            "type": "string",
            "description": "Identifies the associated outbound voice profile.",
            "example": "1293384261075731499",
            "x-format": "int64"
          }
        }
      },
      "CallControlBucketIds": {
        "properties": {
          "bucket_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Bucket Ids"
          },
          "max_num_results": {
            "description": "The maximum number of results to retrieve as context for the language model.",
            "type": "integer"
          }
        },
        "type": "object",
        "required": [
          "bucket_ids"
        ],
        "title": "BucketIds"
      },
      "CallControlCommandResult": {
        "type": "object",
        "title": "Call Control Command Result",
        "example": {
          "result": "ok"
        },
        "properties": {
          "result": {
            "type": "string",
            "example": "ok"
          }
        }
      },
      "CallControlCommandResultWithConversationId": {
        "type": "object",
        "title": "Call Control Command Result With Conversation ID",
        "example": {
          "result": "ok",
          "conversation_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a"
        },
        "properties": {
          "result": {
            "type": "string",
            "example": "ok"
          },
          "conversation_id": {
            "type": "string",
            "format": "uuid",
            "example": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a",
            "description": "The ID of the conversation created by the command."
          }
        }
      },
      "CallControlCommandResultWithConversationRelayId": {
        "type": "object",
        "title": "Call Control Command Result With Conversation Relay ID",
        "example": {
          "result": "ok",
          "conversation_relay_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a"
        },
        "properties": {
          "result": {
            "type": "string",
            "example": "ok"
          },
          "conversation_relay_id": {
            "type": "string",
            "example": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a",
            "description": "The ID of the Conversation Relay session created by the command."
          }
        }
      },
      "CallControlCommandResultWithRecordingId": {
        "type": "object",
        "title": "Call Control Command Result With Recording ID",
        "example": {
          "result": "ok",
          "recording_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a"
        },
        "properties": {
          "result": {
            "type": "string",
            "example": "ok"
          },
          "recording_id": {
            "type": "string",
            "format": "uuid",
            "example": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a",
            "description": "The ID of the recording. Only present when the record parameter is set to record-from-answer."
          }
        }
      },
      "CallControlId": {
        "type": "string",
        "example": "v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA"
      },
      "CallControlRetrievalTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "retrieval"
            ]
          },
          "retrieval": {
            "$ref": "#/components/schemas/CallControlBucketIds"
          }
        },
        "type": "object",
        "required": [
          "type",
          "retrieval"
        ],
        "title": "RetrievalTool"
      },
      "CallControlTransferToolParams": {
        "properties": {
          "targets": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the target.",
                      "example": "Support"
                    },
                    "to": {
                      "type": "string",
                      "description": "The destination number or SIP URI of the call.",
                      "example": "+13129457420"
                    }
                  },
                  "required": [
                    "to"
                  ]
                }
              },
              {
                "type": "string",
                "description": "A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.",
                "example": "{{ targets }}"
              }
            ],
            "description": "The different possible targets of the transfer. The assistant will be able to choose one of the targets to transfer the call to. This can also be a dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime."
          },
          "from": {
            "type": "string",
            "example": "+35319605860",
            "description": "Number or SIP URI placing the call."
          }
        },
        "type": "object",
        "required": [
          "targets",
          "from"
        ],
        "title": "TransferToolParams"
      },
      "CallControlWebhookToolParams": {
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tool."
          },
          "description": {
            "type": "string",
            "description": "The description of the tool."
          },
          "url": {
            "description": "The URL of the external tool to be called. This URL is going to be used by the assistant. The URL can be templated like: `https://example.com/api/v1/{id}`, where `{id}` is a placeholder for a value that will be provided by the assistant if `path_parameters` are provided with the `id` attribute.",
            "type": "string",
            "example": "https://example.com/api/v1/function"
          },
          "method": {
            "description": "The HTTP method to be used when calling the external tool.",
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "DELETE",
              "PATCH"
            ],
            "default": "POST"
          },
          "headers": {
            "description": "The headers to be sent to the external tool.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret as the bearer token.",
                  "type": "string"
                }
              }
            }
          },
          "body_parameters": {
            "description": "The body parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the body of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the body parameters.",
                "type": "object"
              },
              "required": {
                "description": "The required properties of the body parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "age": {
                  "description": "The age of the customer.",
                  "type": "integer"
                },
                "location": {
                  "description": "The location of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "age",
                "location"
              ],
              "type": "object"
            }
          },
          "path_parameters": {
            "description": "The path parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the path of the request if the URL contains a placeholder for a value. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the path parameters.",
                "type": "object"
              },
              "required": {
                "description": "The required properties of the path parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "id": {
                  "description": "The id of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            }
          },
          "query_parameters": {
            "description": "The query parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the query of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the query parameters.",
                "type": "object"
              },
              "required": {
                "description": "The required properties of the query parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "page": {
                  "description": "The page number.",
                  "type": "integer"
                }
              },
              "required": [
                "page"
              ],
              "type": "object"
            }
          }
        },
        "type": "object",
        "required": [
          "url",
          "name",
          "description"
        ],
        "title": "WebhookToolParams"
      },
      "CallCost": {
        "type": "object",
        "title": "Call Cost",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.cost",
            "enum": [
              "call.cost"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Unique identifier of the event."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command. Base64-encoded."
              },
              "billing_group_id": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "f5586561-8ff0-4291-a0ac-84fe544797bd",
                "description": "Identifies the billing group associated with the call."
              },
              "status": {
                "type": "string",
                "example": "success",
                "enum": [
                  "success",
                  "error"
                ],
                "description": "The status of the cost calculation (`success` or `error`)."
              },
              "total_cost": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "0.0106",
                "description": "The total cost of the call."
              },
              "billed_duration_secs": {
                "type": [
                  "integer",
                  "null"
                ],
                "example": 120,
                "description": "The longest billed duration across all cost parts, in seconds."
              },
              "cost_parts": {
                "type": "array",
                "description": "Breakdown of costs by call part.",
                "items": {
                  "$ref": "#/components/schemas/CallCostPart"
                },
                "example": [
                  {
                    "call_part": "sip-trunking",
                    "rate": "0.0050",
                    "cost": "0.0050",
                    "currency": "USD",
                    "billed_duration_secs": 60
                  },
                  {
                    "call_part": "call-recording",
                    "rate": "0.00190",
                    "cost": "0.0038",
                    "currency": "USD",
                    "billed_duration_secs": 120
                  },
                  {
                    "call_part": "call-control",
                    "rate": "0.00180",
                    "cost": "0.0018",
                    "currency": "USD",
                    "billed_duration_secs": 60
                  }
                ]
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521992Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.cost",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "billing_group_id": "f5586561-8ff0-4291-a0ac-84fe544797bd",
            "status": "success",
            "total_cost": "0.0106",
            "billed_duration_secs": 120,
            "cost_parts": [
              {
                "call_part": "sip-trunking",
                "rate": "0.0050",
                "cost": "0.0050",
                "currency": "USD",
                "billed_duration_secs": 60
              },
              {
                "call_part": "call-recording",
                "rate": "0.00190",
                "cost": "0.0038",
                "currency": "USD",
                "billed_duration_secs": 120
              },
              {
                "call_part": "call-control",
                "rate": "0.00180",
                "cost": "0.0018",
                "currency": "USD",
                "billed_duration_secs": 60
              }
            ],
            "occurred_at": "2018-02-02T22:25:27.521992Z"
          }
        }
      },
      "CallCostEvent": {
        "type": "object",
        "title": "Call Cost Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallCost"
          }
        }
      },
      "CallCostPart": {
        "type": "object",
        "title": "Call Cost Part",
        "properties": {
          "call_part": {
            "type": "string",
            "example": "call-control",
            "description": "The product component this cost applies to. Values are determined by the billing system (e.g. sip-trunking, call-control, call-recording). Not a fixed set — new values may appear as products evolve."
          },
          "rate": {
            "type": "string",
            "example": "0.00180",
            "description": "The per-minute rate applied."
          },
          "cost": {
            "type": "string",
            "example": "0.0018",
            "description": "The cost for this part of the call."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "The currency of the cost."
          },
          "billed_duration_secs": {
            "type": "integer",
            "example": 180,
            "description": "The billed duration in seconds for this part of the call."
          }
        }
      },
      "CallDeepfakeDetectionError": {
        "type": "object",
        "title": "Call Deepfake Detection Error",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.deepfake_detection.error",
            "enum": [
              "call.deepfake_detection.error"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "format": "uuid",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "format": "uuid",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "error_message": {
                "type": "string",
                "enum": [
                  "detection_timeout",
                  "rtp_timeout",
                  "dfd_connection_error",
                  "dfd_stream_error"
                ],
                "description": "The error that occurred. 'detection_timeout' = no DFD response received, 'rtp_timeout' = no RTP audio received, 'dfd_connection_error'/'dfd_stream_error' = service connectivity issues."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.deepfake_detection.error",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "error_message": "detection_timeout"
          }
        }
      },
      "CallDeepfakeDetectionErrorEvent": {
        "type": "object",
        "title": "Call Deepfake Detection Error Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallDeepfakeDetectionError"
          }
        }
      },
      "CallDeepfakeDetectionResult": {
        "type": "object",
        "title": "Call Deepfake Detection Result",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.deepfake_detection.result",
            "enum": [
              "call.deepfake_detection.result"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "format": "uuid",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "format": "uuid",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "result": {
                "type": "string",
                "enum": [
                  "real",
                  "fake",
                  "silence_timeout"
                ],
                "description": "Detection outcome. 'real' = human voice, 'fake' = AI-generated voice, 'silence_timeout' = no analyzable speech detected before timeout."
              },
              "score": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "float",
                "description": "Probability that the audio is AI-generated, from 0.0 (likely real) to 1.0 (likely deepfake). Based on the model's aggregated confidence across analyzed audio frames. Null for silence_timeout."
              },
              "consistency": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "float",
                "minimum": 0,
                "maximum": 100,
                "description": "Percentage (0-100) indicating how consistently the model classified the audio across frames. High consistency (>90%) means confident classification throughout; low consistency suggests mixed signals. Null for silence_timeout."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.deepfake_detection.result",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "result": "fake",
            "score": 0.87,
            "consistency": 94.5
          }
        }
      },
      "CallDeepfakeDetectionResultEvent": {
        "type": "object",
        "title": "Call Deepfake Detection Result Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallDeepfakeDetectionResult"
          }
        }
      },
      "CallDtmfReceived": {
        "type": "object",
        "title": "Call DTMF Received",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.dtmf.received",
            "enum": [
              "call.dtmf.received"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Identifies the type of resource."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "digit": {
                "type": "string",
                "example": "#",
                "description": "The received DTMF digit or symbol."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.dtmf.received",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "digit": "#"
          }
        }
      },
      "CallDtmfReceivedEvent": {
        "type": "object",
        "title": "Call DTMF Received Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallDtmfReceived"
          }
        }
      },
      "CallEnqueued": {
        "type": "object",
        "title": "Call Enqueued",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.enqueued",
            "enum": [
              "call.enqueued"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "queue": {
                "type": "string",
                "example": "support",
                "description": "The name of the queue"
              },
              "current_position": {
                "type": "integer",
                "example": 7,
                "description": "Current position of the call in the queue."
              },
              "queue_avg_wait_time_secs": {
                "type": "integer",
                "example": 60,
                "description": "Average time call spends in the queue in seconds."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.enqueued",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "queue": "support",
            "current_position": 5
          }
        }
      },
      "CallEnqueuedEvent": {
        "type": "object",
        "title": "Call Enqueued Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallEnqueued"
          }
        }
      },
      "CallEvent": {
        "type": "object",
        "title": "Call Event",
        "required": [
          "record_type",
          "call_leg_id",
          "call_session_id",
          "event_timestamp",
          "name",
          "type",
          "metadata"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "call_event"
            ],
            "example": "call_event"
          },
          "call_leg_id": {
            "type": "string",
            "description": "Uniquely identifies an individual call leg.",
            "example": "308fe500-5213-11e9-ace7-02420a0f0668"
          },
          "call_session_id": {
            "type": "string",
            "description": "Uniquely identifies the call control session. A session may include multiple call leg events.",
            "example": "308fec30-5213-11e9-9d3f-02420a0f0668"
          },
          "event_timestamp": {
            "type": "string",
            "description": "Event timestamp",
            "example": "2019-03-29T11:10:19.127783Z"
          },
          "name": {
            "type": "string",
            "description": "Event name",
            "example": "call.hangup"
          },
          "type": {
            "type": "string",
            "description": "Event type",
            "enum": [
              "command",
              "webhook"
            ],
            "example": "webhook"
          },
          "metadata": {
            "type": "object",
            "description": "Event metadata, which includes raw event, and extra information based on event type"
          }
        },
        "example": {
          "record_type": "call_event",
          "call_leg_id": "308fe500-5213-11e9-ace7-02420a0f0668",
          "call_session_id": "308fec30-5213-11e9-9d3f-02420a0f0668",
          "event_timestamp": "2019-03-29T11:10:19.127783Z",
          "name": "call.hangup",
          "type": "webhook",
          "metadata": {}
        }
      },
      "CallForkStarted": {
        "type": "object",
        "title": "Call Fork Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.fork.started",
            "enum": [
              "call.fork.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_control_id": {
                "type": "string",
                "example": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
                "description": "Unique ID for controlling the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "stream_type": {
                "type": "string",
                "example": "decrypted",
                "enum": [
                  "decrypted"
                ],
                "description": "Type of media streamed. It can be either 'raw' or 'decrypted'."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.fork.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_control_id": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "stream_type": "decrypted"
          }
        }
      },
      "CallForkStartedEvent": {
        "type": "object",
        "title": "Call Fork Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallForkStarted"
          }
        }
      },
      "CallForkStopped": {
        "type": "object",
        "title": "Call Fork Stopped",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.fork.stopped",
            "enum": [
              "call.fork.stopped"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_control_id": {
                "type": "string",
                "example": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
                "description": "Unique ID for controlling the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "stream_type": {
                "type": "string",
                "example": "decrypted",
                "enum": [
                  "decrypted"
                ],
                "description": "Type of media streamed. It can be either 'raw' or 'decrypted'."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.fork.stopped",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_control_id": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "stream_type": "decrypted"
          }
        }
      },
      "CallForkStoppedEvent": {
        "type": "object",
        "title": "Call Fork Stopped Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallForkStopped"
          }
        }
      },
      "CallForwarding": {
        "description": "The call forwarding settings for a phone number.",
        "type": "object",
        "properties": {
          "call_forwarding_enabled": {
            "type": "boolean",
            "default": true,
            "description": "Indicates if call forwarding will be enabled for this number if forwards_to and forwarding_type are filled in. Defaults to true for backwards compatibility with APIV1 use of numbers endpoints.",
            "example": true
          },
          "forwards_to": {
            "type": "string",
            "description": "The phone number to which inbound calls to this number are forwarded. Inbound calls will not be forwarded if this field is left blank. If set, must be a +E.164-formatted phone number."
          },
          "forwarding_type": {
            "type": "string",
            "description": "Call forwarding type. 'forwards_to' must be set for this to have an effect.",
            "enum": [
              "always",
              "on-failure"
            ],
            "example": "always"
          }
        },
        "example": {
          "call_forwarding_enabled": true,
          "forwards_to": "+13035559123",
          "forwarding_type": "always"
        }
      },
      "CallGatherEnded": {
        "type": "object",
        "title": "Call Gather Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.gather.ended",
            "enum": [
              "call.gather.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "digits": {
                "type": "string",
                "example": "5503",
                "description": "The received DTMF digit or symbol."
              },
              "status": {
                "type": "string",
                "enum": [
                  "valid",
                  "invalid",
                  "call_hangup",
                  "cancelled",
                  "cancelled_amd",
                  "timeout"
                ],
                "example": "valid",
                "description": "Reflects how command ended."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.gather.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "digits": "123",
            "status": "valid"
          }
        }
      },
      "CallGatherEndedEvent": {
        "type": "object",
        "title": "Call Gather Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallGatherEnded"
          }
        }
      },
      "CallHangup": {
        "type": "object",
        "title": "Call Hangup",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.hangup",
            "enum": [
              "call.hangup"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "custom_headers": {
                "description": "Custom headers set on answer command",
                "type": "array",
                "example": [
                  {
                    "name": "head_1",
                    "value": "val_1"
                  },
                  {
                    "name": "head_2",
                    "value": "val_2"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/CustomSipHeader"
                }
              },
              "sip_headers": {
                "description": "User-to-User and Diversion headers from sip invite.",
                "type": "array",
                "example": [
                  {
                    "name": "User-to-User",
                    "value": "1234"
                  },
                  {
                    "name": "User-to-User",
                    "value": "<sip:111@192.168.1.1>"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/SipHeader"
                }
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "start_time": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:20:27.521992Z",
                "description": "ISO 8601 datetime of when the call started."
              },
              "state": {
                "type": "string",
                "example": "hangup",
                "enum": [
                  "hangup"
                ],
                "description": "State received from a command."
              },
              "tags": {
                "description": "Array of tags associated to number.",
                "example": [
                  "tag-01",
                  "tag-02"
                ],
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "hangup_cause": {
                "type": "string",
                "example": "call_rejected",
                "enum": [
                  "call_rejected",
                  "normal_clearing",
                  "originator_cancel",
                  "timeout",
                  "time_limit",
                  "user_busy",
                  "not_found",
                  "no_answer",
                  "unspecified"
                ],
                "description": "The reason the call was ended (`call_rejected`, `normal_clearing`, `originator_cancel`, `timeout`, `time_limit`, `user_busy`, `not_found`, `no_answer` or `unspecified`)."
              },
              "hangup_source": {
                "type": "string",
                "example": "caller",
                "enum": [
                  "caller",
                  "callee",
                  "unknown"
                ],
                "description": "The party who ended the call (`callee`, `caller`, `unknown`)."
              },
              "sip_hangup_cause": {
                "type": "string",
                "example": "603",
                "description": "The reason the call was ended (SIP response code). If the SIP response is unavailable (in inbound calls for example) this is set to `unspecified`."
              },
              "call_quality_stats": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Call quality statistics aggregated from the CHANNEL_HANGUP_COMPLETE event. Only includes metrics that are available (filters out nil values). Returns nil if no metrics are available.",
                "example": {
                  "inbound": {
                    "jitter_max_variance": "2.74",
                    "jitter_packet_count": "0",
                    "mos": "4.50",
                    "packet_count": "591",
                    "skip_packet_count": "9"
                  },
                  "outbound": {
                    "packet_count": "0",
                    "skip_packet_count": "0"
                  }
                },
                "properties": {
                  "inbound": {
                    "type": "object",
                    "description": "Inbound call quality statistics.",
                    "properties": {
                      "jitter_max_variance": {
                        "type": "string",
                        "description": "Maximum jitter variance for inbound audio.",
                        "example": "2.74"
                      },
                      "jitter_packet_count": {
                        "type": "string",
                        "description": "Number of packets used for jitter calculation on inbound audio.",
                        "example": "0"
                      },
                      "mos": {
                        "type": "string",
                        "description": "Mean Opinion Score (MOS) for inbound audio quality.",
                        "example": "4.50"
                      },
                      "packet_count": {
                        "type": "string",
                        "description": "Total number of inbound audio packets.",
                        "example": "591"
                      },
                      "skip_packet_count": {
                        "type": "string",
                        "description": "Number of skipped inbound packets (packet loss).",
                        "example": "9"
                      }
                    }
                  },
                  "outbound": {
                    "type": "object",
                    "description": "Outbound call quality statistics.",
                    "properties": {
                      "packet_count": {
                        "type": "string",
                        "description": "Total number of outbound audio packets.",
                        "example": "0"
                      },
                      "skip_packet_count": {
                        "type": "string",
                        "description": "Number of skipped outbound packets (packet loss).",
                        "example": "0"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.hangup",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "start_time": "2018-02-02T22:20:27.521992Z",
            "state": "hangup",
            "hangup_cause": "call_rejected",
            "hangup_source": "caller",
            "sip_hangup_cause": "603",
            "call_quality_stats": {
              "inbound": {
                "jitter_max_variance": "2.74",
                "jitter_packet_count": "0",
                "mos": "4.50",
                "packet_count": "591",
                "skip_packet_count": "9"
              },
              "outbound": {
                "packet_count": "0",
                "skip_packet_count": "0"
              }
            }
          }
        }
      },
      "CallHangupEvent": {
        "type": "object",
        "title": "Call Hangup Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallHangup"
          }
        }
      },
      "CallHold": {
        "type": "object",
        "title": "Call Hold",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.hold",
            "enum": [
              "call.hold"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.hold",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860"
          }
        }
      },
      "CallHoldEvent": {
        "type": "object",
        "title": "Call Hold Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallHold"
          }
        }
      },
      "CallInitiated": {
        "type": "object",
        "title": "Call Initiated",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.initiated",
            "enum": [
              "call.initiated"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "connection_codecs": {
                "type": "string",
                "example": "G722,PCMU,PCMA",
                "description": "The list of comma-separated codecs enabled for the connection."
              },
              "offered_codecs": {
                "type": "string",
                "example": "G722,PCMU,PCMA",
                "description": "The list of comma-separated codecs offered by caller."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "custom_headers": {
                "description": "Custom headers from sip invite",
                "type": "array",
                "example": [
                  {
                    "name": "head_1",
                    "value": "val_1"
                  },
                  {
                    "name": "head_2",
                    "value": "val_2"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/CustomSipHeader"
                }
              },
              "sip_headers": {
                "description": "User-to-User and Diversion headers from sip invite.",
                "type": "array",
                "example": [
                  {
                    "name": "User-to-User",
                    "value": "1234"
                  },
                  {
                    "name": "User-to-User",
                    "value": "<sip:111@192.168.1.1>"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/SipHeader"
                }
              },
              "shaken_stir_attestation": {
                "type": "string",
                "example": "A",
                "description": "SHAKEN/STIR attestation level."
              },
              "shaken_stir_validated": {
                "type": "boolean",
                "example": true,
                "description": "Whether attestation was successfully validated or not."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "caller_id_name": {
                "type": "string",
                "example": "+35319605860",
                "description": "Caller id."
              },
              "call_screening_result": {
                "type": "string",
                "example": "spam_likely",
                "description": "Call screening result."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "direction": {
                "type": "string",
                "example": "incoming",
                "enum": [
                  "incoming",
                  "outgoing"
                ],
                "description": "Whether the call is `incoming` or `outgoing`."
              },
              "state": {
                "type": "string",
                "example": "parked",
                "enum": [
                  "parked",
                  "bridging"
                ],
                "description": "State received from a command."
              },
              "start_time": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521992Z",
                "description": "ISO 8601 datetime of when the call started."
              },
              "tags": {
                "description": "Array of tags associated to number.",
                "example": [
                  "tag-01",
                  "tag-02"
                ],
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.initiated",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "direction": "incoming",
            "state": "parked"
          }
        }
      },
      "CallInitiatedEvent": {
        "type": "object",
        "title": "Call Initiated Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallInitiated"
          }
        }
      },
      "CallLeftQueue": {
        "type": "object",
        "title": "Call Left Queue",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.dequeued",
            "enum": [
              "call.dequeued"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "queue": {
                "type": "string",
                "example": "support",
                "description": "The name of the queue"
              },
              "queue_position": {
                "type": "integer",
                "example": 7,
                "description": "Last position of the call in the queue."
              },
              "reason": {
                "type": "string",
                "description": "The reason for leaving the queue",
                "example": "bridged",
                "enum": [
                  "bridged",
                  "bridging-in-process",
                  "hangup",
                  "leave",
                  "timeout"
                ]
              },
              "wait_time_secs": {
                "type": "integer",
                "example": 60,
                "description": "Time call spent in the queue in seconds."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.dequeued",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "queue": "support",
            "queue_position": 3,
            "reason": "leave"
          }
        }
      },
      "CallLeftQueueEvent": {
        "type": "object",
        "title": "Call Left Queue Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallLeftQueue"
          }
        }
      },
      "CallMachineDetectionEnded": {
        "type": "object",
        "title": "Call Machine Detection Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.machine.detection.ended",
            "enum": [
              "call.machine.detection.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "result": {
                "type": "string",
                "example": "machine",
                "enum": [
                  "human",
                  "machine",
                  "not_sure"
                ],
                "description": "Answering machine detection result."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.machine.detection.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "result": "human"
          }
        }
      },
      "CallMachineDetectionEndedEvent": {
        "type": "object",
        "title": "Call Machine Detection Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallMachineDetectionEnded"
          }
        }
      },
      "CallMachineGreetingEnded": {
        "type": "object",
        "title": "Call Machine Greeting Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.machine.greeting.ended",
            "enum": [
              "call.machine.greeting.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "result": {
                "type": "string",
                "example": "ended",
                "enum": [
                  "beep_detected",
                  "ended",
                  "not_sure"
                ],
                "description": "Answering machine greeting ended result."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.machine.greeting.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "result": "ended"
          }
        }
      },
      "CallMachineGreetingEndedEvent": {
        "type": "object",
        "title": "Call Machine Greeting Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallMachineGreetingEnded"
          }
        }
      },
      "CallMachinePremiumDetectionEnded": {
        "type": "object",
        "title": "Call Machine Premium Detection Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.machine.premium.detection.ended",
            "enum": [
              "call.machine.premium.detection.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "result": {
                "type": "string",
                "example": "machine",
                "enum": [
                  "human_residence",
                  "human_business",
                  "machine",
                  "silence",
                  "fax_detected",
                  "not_sure"
                ],
                "description": "Premium Answering Machine Detection result."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.machine.premium.detection.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "result": "machine"
          }
        }
      },
      "CallMachinePremiumDetectionEndedEvent": {
        "type": "object",
        "title": "Call Machine Premium Detection Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallMachinePremiumDetectionEnded"
          }
        }
      },
      "CallMachinePremiumGreetingEnded": {
        "type": "object",
        "title": "Call Machine Premium Greeting Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.machine.premium.greeting.ended",
            "enum": [
              "call.machine.premium.greeting.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              },
              "result": {
                "type": "string",
                "example": "beep_detected",
                "enum": [
                  "beep_detected",
                  "no_beep_detected"
                ],
                "description": "Premium Answering Machine Greeting Ended result."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.machine.premium.greeting.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860",
            "result": "beep_detected"
          }
        }
      },
      "CallMachinePremiumGreetingEndedEvent": {
        "type": "object",
        "title": "Call Machine Premium Greeting Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallMachinePremiumGreetingEnded"
          }
        }
      },
      "CallPlaybackEnded": {
        "type": "object",
        "title": "Call Playback Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.playback.ended",
            "enum": [
              "call.playback.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "overlay": {
                "type": "boolean",
                "example": false,
                "description": "Whether the stopped audio was in overlay mode or not."
              },
              "status": {
                "type": "string",
                "enum": [
                  "file_not_found",
                  "call_hangup",
                  "unknown",
                  "cancelled",
                  "cancelled_amd",
                  "completed",
                  "failed"
                ],
                "example": "completed",
                "description": "Reflects how command ended."
              },
              "status_detail": {
                "type": "string",
                "example": "Received curl error 22 HTTP error code 404 trying to fetch http://mediaurl.com.",
                "description": "Provides details in case of failure."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.playback.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "media_name": "my_media_uploaded_to_media_storage_api",
            "overlay": false,
            "status": "completed"
          }
        }
      },
      "CallPlaybackEndedEvent": {
        "type": "object",
        "title": "Call Playback Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallPlaybackEnded"
          }
        }
      },
      "CallPlaybackStarted": {
        "type": "object",
        "title": "Call Playback Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.playback.started",
            "enum": [
              "call.playback.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "overlay": {
                "type": "boolean",
                "example": false,
                "description": "Whether the audio is going to be played in overlay mode or not."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.playback.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "media_url": "http://example.com/audio.wav",
            "overlay": false
          }
        }
      },
      "CallPlaybackStartedEvent": {
        "type": "object",
        "title": "Call Playback Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallPlaybackStarted"
          }
        }
      },
      "CallRecording": {
        "description": "The call recording settings for a phone number.",
        "type": "object",
        "properties": {
          "inbound_call_recording_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, any inbound call to this number will be recorded."
          },
          "inbound_call_recording_format": {
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "wav",
            "description": "The audio file format for calls being recorded."
          },
          "inbound_call_recording_channels": {
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "default": "single",
            "description": "When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."
          }
        },
        "example": {
          "inbound_call_recording_enabled": true,
          "inbound_call_recording_format": "wav",
          "inbound_call_recording_channels": "single"
        }
      },
      "CallRecordingSaved": {
        "type": "object",
        "title": "Call Recording Saved",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.recording.saved",
            "enum": [
              "call.recording.saved"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "recording_started_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:20:27.521992Z",
                "description": "ISO 8601 datetime of when recording started."
              },
              "recording_ended_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521992Z",
                "description": "ISO 8601 datetime of when recording ended."
              },
              "channels": {
                "type": "string",
                "example": "single",
                "enum": [
                  "single",
                  "dual"
                ],
                "description": "Whether recording was recorded in `single` or `dual` channel."
              },
              "recording_urls": {
                "type": "object",
                "description": "Recording URLs in requested format. These URLs are valid for 10 minutes. After 10 minutes, you may retrieve recordings via API using Reports -> Call Recordings documentation, or via Mission Control under Reporting -> Recordings.",
                "properties": {
                  "mp3": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.mp3",
                    "description": "Recording URL in requested `mp3` format."
                  },
                  "wav": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.wav",
                    "description": "Recording URL in requested `wav` format."
                  }
                }
              },
              "public_recording_urls": {
                "type": "object",
                "description": "Recording URLs in requested format. The URL is valid for as long as the file exists. For security purposes, this feature is activated on a per request basis.  Please contact customer support with your Account ID to request activation.",
                "properties": {
                  "mp3": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.mp3",
                    "description": "Recording URL in requested `mp3` format."
                  },
                  "wav": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.wav",
                    "description": "Recording URL in requested `wav` format."
                  }
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.recording.saved",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "recording_started_at": "2018-02-02T22:20:27.521992Z",
            "recording_ended_at": "2018-02-02T22:20:27.521992Z",
            "channels": "single",
            "recording_urls": {
              "mp3": "http://example.com/recording.mp3",
              "wav": "http://example.com/recording.wav"
            },
            "public_recording_urls": {
              "mp3": "http://example.com/recording.mp3",
              "wav": "http://example.com/recording.wav"
            }
          }
        }
      },
      "CallRecordingSavedEvent": {
        "type": "object",
        "title": "Call Recording Saved Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallRecordingSaved"
          }
        }
      },
      "CallReferCompleted": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.refer.completed",
            "enum": [
              "call.refer.completed"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
                "description": "Unique ID for controlling the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "sip_notify_response": {
                "type": "integer",
                "example": 200,
                "description": "SIP NOTIFY event status for tracking the REFER attempt."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.refer.completed",
          "id": "4ce4366d-8d87-44be-a00b-942154e9c5f5",
          "occurred_at": "2020-03-30T13:29:44.650000Z",
          "payload": {
            "call_control_id": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
            "call_leg_id": "817f7de8-728a-11ea-9ce6-02420a0f8969",
            "call_session_id": "817f8c2a-728a-11ea-9cbe-02420a0f8969",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "connection_id": "1289082222292239760",
            "from": "+35319605860",
            "sip_notify_response": 200,
            "to": "+13129457420"
          }
        }
      },
      "CallReferCompletedEvent": {
        "type": "object",
        "title": "Call Refer Completed Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallReferCompleted"
          }
        }
      },
      "CallReferFailed": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.refer.failed",
            "enum": [
              "call.refer.failed"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
                "description": "Unique ID for controlling the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "sip_notify_response": {
                "type": "integer",
                "example": 603,
                "description": "SIP NOTIFY event status for tracking the REFER attempt."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.refer.failed",
          "id": "fbeb70e0-54eb-4e26-8d19-56b43e66f754",
          "occurred_at": "2020-03-30T13:29:42.130013Z",
          "payload": {
            "call_control_id": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
            "call_leg_id": "817f7de8-728a-11ea-9ce6-02420a0f8969",
            "call_session_id": "817f8c2a-728a-11ea-9cbe-02420a0f8969",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "connection_id": "1289082222292239760",
            "from": "+35319605860",
            "sip_notify_response": 603,
            "to": "+13129457420"
          }
        }
      },
      "CallReferFailedEvent": {
        "type": "object",
        "title": "Call Refer Failed Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallReferFailed"
          }
        }
      },
      "CallReferStarted": {
        "type": "object",
        "title": "Call Refer Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.refer.started",
            "enum": [
              "call.refer.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
                "description": "Unique ID for controlling the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "sip_notify_response": {
                "type": "integer",
                "example": 100,
                "description": "SIP NOTIFY event status for tracking the REFER attempt."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.refer.started",
          "id": "fbeb70e0-54eb-4e26-8d19-56b43e66f754",
          "occurred_at": "2020-03-30T13:29:42.130013Z",
          "payload": {
            "call_control_id": "v2:OycMASgvIjsGIAVEx8x3n9rYeKnUJx6a3V8VGhs5futnr17KZhujZA",
            "call_leg_id": "817f7de8-728a-11ea-9ce6-02420a0f8969",
            "call_session_id": "817f8c2a-728a-11ea-9cbe-02420a0f8969",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "connection_id": "1289082222292239760",
            "from": "+35319605860",
            "sip_notify_response": 100,
            "to": "+13129457420"
          }
        }
      },
      "CallReferStartedEvent": {
        "type": "object",
        "title": "Call Refer Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallReferStarted"
          }
        }
      },
      "CallRequest": {
        "type": "object",
        "title": "Dial Request",
        "required": [
          "connection_id",
          "to",
          "from"
        ],
        "example": {
          "to": "+18005550100 or sip:username@sip.telnyx.com;secure=srtp",
          "from": "+18005550101",
          "from_display_name": "Company Name",
          "connection_id": "7267xxxxxxxxxxxxxx",
          "conference_config": {
            "conference_name": "telnyx-conference",
            "start_conference_on_enter": true
          },
          "audio_url": "http://www.example.com/sounds/greeting.wav",
          "send_digits_on_answer": "wwww200",
          "timeout_secs": 60,
          "time_limit_secs": 60,
          "webhook_url": "https://www.example.com/server-b/",
          "webhook_url_method": "POST",
          "webhook_urls": {
            "call.hangup": "https://www.example.com/webhooks/hangup",
            "call.bridge": "https://www.example.com/webhooks/bridge"
          },
          "webhook_urls_method": "POST",
          "webhook_retries_policies": {
            "call.hangup": {
              "retries_ms": [
                1000,
                2000,
                5000
              ]
            }
          },
          "answering_machine_detection": "detect",
          "answering_machine_detection_config": {
            "total_analysis_time_millis": 5000,
            "after_greeting_silence_millis": 1000,
            "between_words_silence_millis": 1000,
            "greeting_duration_millis": 1000,
            "initial_silence_millis": 1000,
            "maximum_number_of_words": 1000,
            "maximum_word_length_millis": 2000,
            "silence_threshold": 512,
            "greeting_total_analysis_time_millis": 50000,
            "greeting_silence_duration_millis": 2000
          },
          "deepfake_detection": {
            "enabled": true,
            "timeout": 15,
            "rtp_timeout": 30
          },
          "custom_headers": [
            {
              "name": "head_1",
              "value": "val_1"
            },
            {
              "name": "head_2",
              "value": "val_2"
            }
          ],
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "link_to": "ilditnZK_eVysupV21KzmzN_sM29ygfauQojpm4BgFtfX5hXAcjotg==",
          "bridge_intent": true,
          "bridge_on_answer": true,
          "media_encryption": "SRTP",
          "sip_auth_username": "username",
          "sip_auth_password": "password",
          "sip_headers": [
            {
              "name": "User-to-User",
              "value": "12345"
            }
          ],
          "sip_transport_protocol": "TLS",
          "stream_url": "wss://www.example.com/websocket",
          "stream_track": "both_tracks",
          "send_silence_when_idle": true,
          "enable_dialogflow": false,
          "dialogflow_config": {
            "analyze_sentiment": false,
            "partial_automated_agent_reply": false
          }
        },
        "properties": {
          "assistant": {
            "$ref": "#/components/schemas/CallAssistantRequest"
          },
          "to": {
            "description": "The DID or SIP URI to dial out to. Multiple DID or SIP URIs can be provided using an array of strings. For SIP URI destinations, append `;secure=true` or `;secure=srtp` to enable SRTP media encryption for that endpoint, or `;secure=dtls` to enable DTLS media encryption for that endpoint. If `media_encryption` is set to `SRTP` or `DTLS`, it takes precedence over any per-endpoint `secure` URI parameter. For a single string destination, you may append a comma followed by DTMF digits (e.g. `+18004247767,200`) to play those digits as DTMF once the called party answers — equivalent to setting `send_digits_on_answer` separately. If both are present, the explicit `send_digits_on_answer` parameter takes precedence. This shorthand is not supported when `to` is an array.",
            "oneOf": [
              {
                "type": "string",
                "example": "+18005550100 or sip:username@sip.telnyx.com;secure=srtp"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "+18005550100",
                  "sip:username@sip.telnyx.com;secure=srtp"
                ]
              }
            ]
          },
          "from": {
            "description": "The `from` number to be used as the caller id presented to the destination (`to` number). The number should be in +E164 format.",
            "type": "string",
            "example": "+18005550101"
          },
          "from_display_name": {
            "description": "The `from_display_name` string to be used as the caller id name (SIP From Display Name) presented to the destination (`to` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and -_~!.+ special characters. If ommited, the display name will be the same as the number in the `from` field.",
            "type": "string",
            "example": "Company Name"
          },
          "privacy": {
            "type": "string",
            "description": "Indicates the privacy level to be used for the call. When set to `id`, caller ID information (name and number) will be hidden from the called party. When set to `none` or omitted, caller ID will be shown normally.",
            "enum": [
              "id",
              "none"
            ],
            "example": "id"
          },
          "connection_id": {
            "type": "string",
            "description": "The ID of the Call Control App (formerly ID of the connection) to be used when dialing the destination."
          },
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played back to the callee when the call is answered. The URL can point to either a WAV or MP3 file. media_name and audio_url cannot be used together in one request."
          },
          "send_digits_on_answer": {
            "type": "string",
            "example": "wwww200",
            "description": "DTMF digits to send automatically after the called party answers. Useful for reaching an extension behind an IVR (e.g. `\"200\"` to dial extension 200 once the called party picks up). Allowed characters: `0-9`, `A-D`, `w` (0.5s pause), `W` (1s pause), `*`, `#`. Maximum 64 characters. When omitted, no automatic DTMF is sent. May also be supplied inline by appending `,<digits>` to `to` (e.g. `to=+18004247767,200`); if both forms are present, this explicit field takes precedence."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back to the callee when the call is answered. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "preferred_codecs": {
            "type": "string",
            "description": "The list of comma-separated codecs in a preferred order for the forked media to be received.",
            "example": "G722,PCMU,PCMA,G729,OPUS,VP8,H264"
          },
          "timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the call to be answered by the destination to which it is being called. If the timeout is reached before an answer is received, the call will hangup and a `call.hangup` webhook with a `hangup_cause` of `timeout` will be sent. Minimum value is 5 seconds. Maximum value is 600 seconds.",
            "default": 30,
            "type": "integer",
            "example": 60,
            "format": "int32"
          },
          "time_limit_secs": {
            "description": "Sets the maximum duration of a Call Control Leg in seconds. If the time limit is reached, the call will hangup and a `call.hangup` webhook with a `hangup_cause` of `time_limit` will be sent. For example, by setting a time limit of 120 seconds, a Call Leg will be automatically terminated two minutes after being answered. The default time limit is 14400 seconds or 4 hours and this is also the maximum allowed call length.",
            "default": 14400,
            "type": "integer",
            "example": 600,
            "format": "int32",
            "minimum": 30,
            "maximum": 14400
          },
          "answering_machine_detection": {
            "description": "Enables Answering Machine Detection. Telnyx offers Premium and Standard detections. With Premium detection, when a call is answered, Telnyx runs real-time detection and sends a `call.machine.premium.detection.ended` webhook with one of the following results: `human_residence`, `human_business`, `machine`, `silence` or `fax_detected`. If we detect a beep, we also send a `call.machine.premium.greeting.ended` webhook with the result of `beep_detected`. If we detect a beep before `call.machine.premium.detection.ended` we only send `call.machine.premium.greeting.ended`, and if we detect a beep after `call.machine.premium.detection.ended`, we send both webhooks. With Standard detection, when a call is answered, Telnyx runs real-time detection to determine if it was picked up by a human or a machine and sends an `call.machine.detection.ended` webhook with the analysis result. If `greeting_end` or `detect_words` is used and a `machine` is detected, you will receive another `call.machine.greeting.ended` webhook when the answering machine greeting ends with a beep or silence. If `detect_beep` is used, you will only receive `call.machine.greeting.ended` if a beep is detected.",
            "default": "disabled",
            "type": "string",
            "enum": [
              "premium",
              "detect",
              "detect_beep",
              "detect_words",
              "greeting_end",
              "disabled"
            ]
          },
          "answering_machine_detection_config": {
            "description": "Optional configuration parameters to modify 'answering_machine_detection' performance. Only `total_analysis_time_millis` and `greeting_duration_millis` parameters are applicable when `premium` is selected as answering_machine_detection.",
            "type": "object",
            "properties": {
              "total_analysis_time_millis": {
                "description": "Maximum timeout threshold for overall detection.",
                "default": 3500,
                "type": "integer",
                "example": 5000,
                "format": "int32"
              },
              "after_greeting_silence_millis": {
                "description": "Silence duration threshold after a greeting message or voice for it be considered human.",
                "default": 800,
                "type": "integer",
                "example": 1000,
                "format": "int32"
              },
              "between_words_silence_millis": {
                "description": "Maximum threshold for silence between words.",
                "default": 50,
                "type": "integer",
                "example": 100,
                "format": "int32"
              },
              "greeting_duration_millis": {
                "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine.",
                "default": 3500,
                "type": "integer",
                "example": 1500,
                "format": "int32"
              },
              "initial_silence_millis": {
                "description": "If initial silence duration is greater than this value, consider it a machine.",
                "default": 3500,
                "type": "integer",
                "example": 1800,
                "format": "int32"
              },
              "maximum_number_of_words": {
                "description": "If number of detected words is greater than this value, consder it a machine.",
                "default": 5,
                "type": "integer",
                "example": 3,
                "format": "int32"
              },
              "maximum_word_length_millis": {
                "description": "If a single word lasts longer than this threshold, consider it a machine.",
                "default": 3500,
                "type": "integer",
                "example": 2000,
                "format": "int32"
              },
              "silence_threshold": {
                "description": "Minimum noise threshold for any analysis.",
                "default": 256,
                "type": "integer",
                "example": 512,
                "format": "int32"
              },
              "greeting_total_analysis_time_millis": {
                "description": "If machine already detected, maximum timeout threshold to determine the end of the machine greeting.",
                "default": 5000,
                "type": "integer",
                "example": 7500,
                "format": "int32"
              },
              "greeting_silence_duration_millis": {
                "description": "If machine already detected, maximum threshold for silence between words. If exceeded, the greeting is considered ended.",
                "default": 1500,
                "type": "integer",
                "example": 2000,
                "format": "int32"
              }
            }
          },
          "deepfake_detection": {
            "description": "Enables deepfake detection on the call. When enabled, audio from the remote party is streamed to a detection service that analyzes whether the voice is AI-generated. Results are delivered via the `call.deepfake_detection.result` webhook.",
            "type": "object",
            "required": [
              "enabled"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": false,
                "description": "Whether deepfake detection is enabled."
              },
              "timeout": {
                "type": "integer",
                "format": "int32",
                "default": 15,
                "minimum": 5,
                "maximum": 60,
                "description": "Maximum time in seconds to wait for a detection result before timing out."
              },
              "rtp_timeout": {
                "type": "integer",
                "format": "int32",
                "default": 30,
                "minimum": 5,
                "maximum": 120,
                "description": "Maximum time in seconds to wait for RTP audio before timing out. If no audio is received within this window, detection stops with an error."
              }
            }
          },
          "conference_config": {
            "description": "Optional configuration parameters to dial new participant into a conference.",
            "type": "object",
            "properties": {
              "id": {
                "description": "Conference ID to be joined",
                "type": "string",
                "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                "format": "uuid"
              },
              "conference_name": {
                "description": "Conference name to be joined",
                "type": "string",
                "example": "telnyx-conference"
              },
              "early_media": {
                "description": "Controls the moment when dialled call is joined into conference. If set to `true` user will be joined as soon as media is available (ringback). If `false` user will be joined when call is answered. Defaults to `true`",
                "type": "boolean",
                "example": false,
                "default": true
              },
              "end_conference_on_exit": {
                "description": "Whether the conference should end and all remaining participants be hung up after the participant leaves the conference. Defaults to \"false\".",
                "example": true,
                "type": "boolean"
              },
              "soft_end_conference_on_exit": {
                "description": "Whether the conference should end after the participant leaves the conference. NOTE this doesn't hang up the other participants. Defaults to \"false\".",
                "example": true,
                "type": "boolean"
              },
              "hold": {
                "description": "Whether the participant should be put on hold immediately after joining the conference. Defaults to \"false\".",
                "example": true,
                "type": "boolean"
              },
              "hold_audio_url": {
                "type": "string",
                "example": "http://example.com/message.wav",
                "description": "The URL of a file to be played to the participant when they are put on hold after joining the conference. hold_media_name and hold_audio_url cannot be used together in one request. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\"."
              },
              "hold_media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The media_name of a file to be played to the participant when they are put on hold after joining the conference. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\"."
              },
              "mute": {
                "description": "Whether the participant should be muted immediately after joining the conference. Defaults to \"false\".",
                "example": true,
                "type": "boolean"
              },
              "start_conference_on_enter": {
                "description": "Whether the conference should be started after the participant joins the conference. Defaults to \"false\".",
                "example": true,
                "type": "boolean"
              },
              "start_conference_on_create": {
                "description": "Whether the conference should be started on creation. If the conference isn't started all participants that join are automatically put on hold. Defaults to \"true\".",
                "example": false,
                "type": "boolean"
              },
              "supervisor_role": {
                "description": "Sets the joining participant as a supervisor for the conference. A conference can have multiple supervisors. \"barge\" means the supervisor enters the conference as a normal participant. This is the same as \"none\". \"monitor\" means the supervisor is muted but can hear all participants. \"whisper\" means that only the specified \"whisper_call_control_ids\" can hear the supervisor. Defaults to \"none\".",
                "example": "whisper",
                "type": "string",
                "enum": [
                  "barge",
                  "monitor",
                  "none",
                  "whisper"
                ]
              },
              "whisper_call_control_ids": {
                "description": "Array of unique call_control_ids the joining supervisor can whisper to. If none provided, the supervisor will join the conference as a monitoring participant only.",
                "example": [
                  "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
                  "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
                ],
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "beep_enabled": {
                "description": "Whether a beep sound should be played when the participant joins and/or leaves the conference. Can be used to override the conference-level setting.",
                "enum": [
                  "always",
                  "never",
                  "on_enter",
                  "on_exit"
                ],
                "example": "on_exit",
                "type": "string"
              }
            }
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE.",
            "type": "array",
            "example": [
              {
                "name": "head_1",
                "value": "val_1"
              },
              {
                "name": "head_2",
                "value": "val_2"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/CustomSipHeader"
            }
          },
          "billing_group_id": {
            "description": "Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID.",
            "type": "string",
            "format": "uuid",
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore others Dial commands with the same `command_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "link_to": {
            "description": "Use another call's control id for sharing the same call session id",
            "type": "string",
            "example": "ilditnZK_eVysupV21KzmzN_sM29ygfauQojpm4BgFtfX5hXAcjotg=="
          },
          "bridge_intent": {
            "description": "Indicates the intent to bridge this call with the call specified in link_to. When bridge_intent is true, link_to becomes required and the from number will be overwritten by the from number from the linked call.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "bridge_on_answer": {
            "description": "Whether to automatically bridge answered call to the call specified in link_to. When bridge_on_answer is true, link_to becomes required.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "prevent_double_bridge": {
            "description": "Prevents bridging and hangs up the call if the target is already bridged. Disabled by default.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "park_after_unbridge": {
            "description": "If supplied with the value `self`, the current leg will be parked after unbridge. If not set, the default behavior is to hang up the leg. When park_after_unbridge is set, link_to becomes required.",
            "type": "string",
            "example": "self"
          },
          "media_encryption": {
            "description": "Defines whether media should be encrypted on the call. For SIP URI destinations, media encryption can also be requested per endpoint with the `secure` URI parameter: `;secure=true` or `;secure=srtp` enables SRTP, and `;secure=dtls` enables DTLS. This parameter, when set to `SRTP` or `DTLS`, takes precedence over the per-endpoint `secure` value.",
            "default": "disabled",
            "type": "string",
            "enum": [
              "disabled",
              "SRTP",
              "DTLS"
            ]
          },
          "sip_auth_username": {
            "description": "SIP Authentication username used for SIP challenges.",
            "type": "string"
          },
          "sip_auth_password": {
            "description": "SIP Authentication password used for SIP challenges.",
            "type": "string"
          },
          "sip_headers": {
            "description": "SIP headers to be added to the SIP INVITE request. Currently only User-to-User header is supported.",
            "type": "array",
            "example": [
              {
                "name": "User-to-User",
                "value": "value"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/SipHeader"
            }
          },
          "sip_transport_protocol": {
            "description": "Defines SIP transport protocol to be used on the call.",
            "default": "UDP",
            "type": "string",
            "enum": [
              "UDP",
              "TCP",
              "TLS"
            ]
          },
          "sound_modifications": {
            "$ref": "#/components/schemas/SoundModifications"
          },
          "stream_url": {
            "description": "The destination WebSocket address where the stream is going to be delivered.",
            "type": "string",
            "example": "wss://www.example.com/websocket"
          },
          "stream_track": {
            "description": "Specifies which track should be streamed.",
            "type": "string",
            "enum": [
              "inbound_track",
              "outbound_track",
              "both_tracks"
            ],
            "default": "inbound_track",
            "example": "both_tracks"
          },
          "stream_codec": {
            "$ref": "#/components/schemas/StreamCodec"
          },
          "stream_bidirectional_mode": {
            "$ref": "#/components/schemas/StreamBidirectionalMode"
          },
          "stream_bidirectional_codec": {
            "$ref": "#/components/schemas/StreamBidirectionalCodec"
          },
          "stream_bidirectional_target_legs": {
            "$ref": "#/components/schemas/StreamBidirectionalTargetLegs"
          },
          "stream_bidirectional_sampling_rate": {
            "$ref": "#/components/schemas/StreamBidirectionalSamplingRate"
          },
          "stream_establish_before_call_originate": {
            "description": "Establish websocket connection before dialing the destination. This is useful for cases where the websocket connection takes a long time to establish.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "send_silence_when_idle": {
            "description": "Generate silence RTP packets when no transmission available.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "webhook_url": {
            "description": "Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.",
            "type": "string",
            "example": "https://www.example.com/server-b/"
          },
          "webhook_url_method": {
            "description": "HTTP request type used for `webhook_url`.",
            "default": "POST",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "example": "GET"
          },
          "webhook_urls": {
            "description": "A map of event types to webhook URLs. When an event of the specified type occurs, the webhook URL associated with that event type will be called instead of the default webhook URL. Events not mapped here will use the default webhook URL.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "uri"
            },
            "example": {
              "call.hangup": "https://www.example.com/webhooks/hangup",
              "call.bridge": "https://www.example.com/webhooks/bridge"
            }
          },
          "webhook_urls_method": {
            "description": "HTTP request method to invoke `webhook_urls`.",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "default": "POST",
            "example": "POST"
          },
          "webhook_retries_policies": {
            "description": "A map of event types to retry policies. Each retry policy contains an array of `retries_ms` specifying the delays between retry attempts in milliseconds. Maximum 5 retries, total delay cannot exceed 60 seconds.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "retries_ms": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "maxItems": 5,
                  "description": "Array of delays in milliseconds between retry attempts. Total sum cannot exceed 60000ms."
                }
              }
            },
            "example": {
              "call.hangup": {
                "retries_ms": [
                  1000,
                  2000,
                  5000
                ]
              }
            }
          },
          "record": {
            "description": "Start recording automatically after an event. Disabled by default.",
            "type": "string",
            "enum": [
              "record-from-answer"
            ],
            "example": "record-from-answer"
          },
          "record_channels": {
            "description": "Defines which channel should be recorded ('single' or 'dual') when `record` is specified.",
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "default": "dual",
            "example": "single"
          },
          "record_format": {
            "description": "Defines the format of the recording ('wav' or 'mp3') when `record` is specified.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "mp3",
            "example": "wav"
          },
          "record_max_length": {
            "description": "Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 1000
          },
          "record_timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 100
          },
          "record_track": {
            "description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
            "type": "string",
            "example": "outbound",
            "default": "both",
            "enum": [
              "both",
              "inbound",
              "outbound"
            ]
          },
          "record_trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "record_custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "supervise_call_control_id": {
            "description": "The call leg which will be supervised by the new call.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "supervisor_role": {
            "description": "The role of the supervisor call. 'barge' means that supervisor call hears and is being heard by both ends of the call (caller & callee). 'whisper' means that only supervised_call_control_id hears supervisor but supervisor can hear everything. 'monitor' means that nobody can hear supervisor call, but supervisor can hear everything on the call.",
            "type": "string",
            "enum": [
              "barge",
              "whisper",
              "monitor"
            ],
            "default": "barge"
          },
          "enable_dialogflow": {
            "description": "Enables Dialogflow for the current call. The default value is false.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "dialogflow_config": {
            "$ref": "#/components/schemas/DialogflowConfig"
          },
          "transcription": {
            "description": "Enable transcription upon call answer. The default value is false.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "transcription_config": {
            "$ref": "#/components/schemas/TranscriptionStartRequest"
          },
          "sip_region": {
            "description": "Defines the SIP region to be used for the call.",
            "type": "string",
            "default": "US",
            "enum": [
              "US",
              "Europe",
              "Canada",
              "Australia",
              "Middle East"
            ],
            "example": "Canada"
          },
          "stream_auth_token": {
            "description": "An authentication token to be sent as part of the WebSocket connection when using streaming. Maximum length is 4000 characters.",
            "type": "string",
            "maxLength": 4000,
            "example": "your-auth-token"
          }
        }
      },
      "CallResource": {
        "type": "object",
        "title": "Call resource",
        "example": {
          "account_sid": "61bf923e-5e4d-4595-a110-56190ea18a1b",
          "answered_by": "human",
          "caller_name": "+13122010094",
          "date_created": "Thu, 15 Jun 2023 09:56:45 +0000",
          "date_updated": "Thu, 15 Jun 2023 09:56:56 +0000",
          "direction": "inbound",
          "duration": "11",
          "end_time": "Thu, 15 Jun 2023 09:56:56 +0000",
          "from": "+13123456789",
          "from_formatted": "(312) 345-6789",
          "sid": "v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA",
          "start_time": "Thu, 15 Jun 2023 09:56:45 +0000",
          "status": "completed",
          "to": "+13987654321",
          "to_formatted": "(398) 765-4321",
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls/v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA.json"
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "answered_by": {
            "type": "string",
            "description": "The value of the answering machine detection result, if this feature was enabled for the call.",
            "enum": [
              "human",
              "machine",
              "not_sure"
            ],
            "example": "human"
          },
          "caller_name": {
            "type": "string",
            "description": "Caller ID, if present.",
            "example": "CALLER"
          },
          "date_created": {
            "type": "string",
            "description": "The timestamp of when the resource was created.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "date_updated": {
            "type": "string",
            "description": "The timestamp of when the resource was last updated.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "direction": {
            "type": "string",
            "description": "The direction of this call.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "example": "inbound"
          },
          "duration": {
            "type": "string",
            "description": "The duration of this call, given in seconds.",
            "example": "12"
          },
          "end_time": {
            "type": "string",
            "description": "The end time of this call.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "from": {
            "type": "string",
            "description": "The phone number or SIP address that made this call.",
            "example": "+13123456789"
          },
          "from_formatted": {
            "type": "string",
            "description": "The from number formatted for display.",
            "example": "(312) 345-6789"
          },
          "price": {
            "type": "string",
            "description": "The price of this call, the currency is specified in the price_unit field. Only populated when the call cost feature is enabled for the account.",
            "example": "0.10"
          },
          "price_unit": {
            "type": "string",
            "description": "The unit in which the price is given.",
            "example": "USD"
          },
          "sid": {
            "type": "string",
            "description": "The identifier of this call.",
            "example": "v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA"
          },
          "start_time": {
            "type": "string",
            "description": "The start time of this call.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "status": {
            "type": "string",
            "description": "The status of this call.",
            "enum": [
              "ringing",
              "in-progress",
              "canceled",
              "completed",
              "failed",
              "busy",
              "no-answer"
            ],
            "example": "completed"
          },
          "to": {
            "type": "string",
            "description": "The phone number or SIP address that received this call.",
            "example": "+13987654321"
          },
          "to_formatted": {
            "type": "string",
            "description": "The to number formatted for display.",
            "example": "(398) 765-4321"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this call.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls/v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA.json"
          }
        }
      },
      "CallResourceIndex": {
        "type": "object",
        "title": "Multiple call resources",
        "example": {
          "calls": [],
          "end": 0,
          "first_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=0&PageSize=1",
          "next_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
          "page": 0,
          "page_size": 1,
          "start": 0,
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=0&PageSize=1"
        },
        "properties": {
          "calls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CallResource"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=0&PageSize=1",
            "example": "accepted"
          },
          "next_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
            "example": "accepted"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=0&PageSize=1"
          }
        }
      },
      "CallSiprecFailed": {
        "type": "object",
        "title": "Siprec Failed",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the resource."
          },
          "event_type": {
            "type": "string",
            "example": "siprec.failed",
            "enum": [
              "siprec.failed"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "25dc3731-e51e-4927-a50d-a61cc25984b1",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:11:24.613295Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "failure_cause": {
                "type": "string",
                "example": "no_answer",
                "description": "Q850 reason why siprec session failed."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "siprec.failed",
          "id": "25dc3731-e51e-4927-a50d-a61cc25984b1",
          "occurred_at": "2021-12-15T14:11:24.613295Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "failure_cause": "no_answer"
          }
        }
      },
      "CallSiprecFailedEvent": {
        "type": "object",
        "title": "Siprec Failed Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallSiprecFailed"
          }
        }
      },
      "CallSiprecStarted": {
        "type": "object",
        "title": "Siprec Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "siprec.started",
            "enum": [
              "siprec.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:06:32.059436Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "siprec.started",
          "id": "7d743d69-f7e8-4761-b7d4-8cacf9d3c031",
          "occurred_at": "2021-12-15T14:06:32.059436Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        }
      },
      "CallSiprecStartedEvent": {
        "type": "object",
        "title": "Siprec Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallSiprecStarted"
          }
        }
      },
      "CallSiprecStopped": {
        "type": "object",
        "title": "Siprec Stopped",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "siprec.stopped",
            "enum": [
              "siprec.stopped"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "25dc3731-e51e-4927-a50d-a61cc25984b1",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:11:24.613295Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "hangup_cause": {
                "type": "string",
                "example": "normal_clearing",
                "description": "Q850 reason why the SIPREC session was stopped."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "siprec.stopped",
          "id": "25dc3731-e51e-4927-a50d-a61cc25984b1",
          "occurred_at": "2021-12-15T14:11:24.613295Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "hangup_cause": "normal_clearing"
          }
        }
      },
      "CallSiprecStoppedEvent": {
        "type": "object",
        "title": "Siprec Stopped Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallSiprecStopped"
          }
        }
      },
      "CallSpeakEnded": {
        "type": "object",
        "title": "Call Speak Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.speak.ended",
            "enum": [
              "call.speak.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "status": {
                "type": "string",
                "example": "completed",
                "enum": [
                  "completed",
                  "call_hangup",
                  "cancelled_amd"
                ],
                "description": "Reflects how the command ended."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.speak.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "status": "completed"
          }
        }
      },
      "CallSpeakEndedEvent": {
        "type": "object",
        "title": "Call Speak Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallSpeakEnded"
          }
        }
      },
      "CallSpeakStarted": {
        "type": "object",
        "title": "Call Speak Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.speak.started",
            "enum": [
              "call.speak.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.speak.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        }
      },
      "CallSpeakStartedEvent": {
        "type": "object",
        "title": "Call Speak Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallSpeakStarted"
          }
        }
      },
      "CallStreamingFailed": {
        "type": "object",
        "title": "Streaming Failed",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the resource."
          },
          "event_type": {
            "type": "string",
            "example": "streaming.failed",
            "enum": [
              "streaming.failed"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "25dc3731-e51e-4927-a50d-a61cc25984b1",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:11:24.613295Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "failure_reason": {
                "type": "string",
                "example": "connection_failed",
                "description": "A short description explaning why the media streaming failed."
              },
              "stream_id": {
                "type": "string",
                "format": "uuid",
                "example": "1edb94f9-7ef0-4150-b502-e0ebadfd9491",
                "description": "Identifies the streaming."
              },
              "stream_params": {
                "type": "object",
                "description": "Streaming parameters as they were originally given to the Call Control API.",
                "properties": {
                  "stream_url": {
                    "type": "string",
                    "example": "wss://www.example.com/websocket",
                    "description": "The destination WebSocket address where the stream is going to be delivered."
                  },
                  "track": {
                    "description": "Specifies which track should be streamed.",
                    "type": "string",
                    "enum": [
                      "inbound_track",
                      "outbound_track",
                      "both_tracks"
                    ],
                    "default": "inbound_track",
                    "example": "inbound_track"
                  }
                }
              },
              "stream_type": {
                "type": "string",
                "example": "websocket",
                "enum": [
                  "websocket",
                  "dialogflow"
                ],
                "description": "The type of stream connection the stream is performing."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "streaming.failed",
          "id": "25dc3731-e51e-4927-a50d-a61cc25984b1",
          "occurred_at": "2021-12-15T14:11:24.613295Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "failure_reason": "connection_failed",
            "stream_id": "1edb94f9-7ef0-4150-b502-e0ebadfd9491",
            "stream_params": {
              "stream_url": "wss://www.example.com/websocket",
              "track": "inbound_track"
            },
            "stream_type": "websocket"
          }
        }
      },
      "CallStreamingFailedEvent": {
        "type": "object",
        "title": "Streaming Failed Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallStreamingFailed"
          }
        }
      },
      "CallStreamingStarted": {
        "type": "object",
        "title": "Streaming Started",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "streaming.started",
            "enum": [
              "streaming.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:06:32.059436Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "stream_url": {
                "type": "string",
                "example": "wss://www.example.com/websocket",
                "description": "Destination WebSocket address where the stream is going to be delivered."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "streaming.started",
          "id": "7d743d69-f7e8-4761-b7d4-8cacf9d3c031",
          "occurred_at": "2021-12-15T14:06:32.059436Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "stream_url": "wss://www.example.com/websocket"
          }
        }
      },
      "CallStreamingStartedEvent": {
        "type": "object",
        "title": "Streaming Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallStreamingStarted"
          }
        }
      },
      "CallStreamingStopped": {
        "type": "object",
        "title": "Streaming Stopped",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "streaming.stopped",
            "enum": [
              "streaming.stopped"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "25dc3731-e51e-4927-a50d-a61cc25984b1",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-12-15T14:11:24.613295Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "stream_url": {
                "type": "string",
                "example": "wss://www.example.com/websocket",
                "description": "Destination WebSocket address where the stream is going to be delivered."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "streaming.stopped",
          "id": "25dc3731-e51e-4927-a50d-a61cc25984b1",
          "occurred_at": "2021-12-15T14:11:24.613295Z",
          "payload": {
            "call_control_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "call_session_id": "31f19208-5db0-11ec-9ea7-02420a0d3a69",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "stream_url": "wss://www.example.com/websocket"
          }
        }
      },
      "CallStreamingStoppedEvent": {
        "type": "object",
        "title": "Streaming Stopped Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallStreamingStopped"
          }
        }
      },
      "CallUnhold": {
        "type": "object",
        "title": "Call Unhold",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.unhold",
            "enum": [
              "call.unhold"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "from": {
                "type": "string",
                "example": "+35319605860",
                "description": "Number or SIP URI placing the call."
              },
              "to": {
                "type": "string",
                "example": "+13129457420",
                "description": "Destination number or SIP URI of the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.unhold",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "from": "+35319605860",
            "to": "+35319605860"
          }
        }
      },
      "CallUnholdEvent": {
        "type": "object",
        "title": "Call Unhold Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CallUnhold"
          }
        }
      },
      "CallWithRecordingId": {
        "type": "object",
        "title": "Call With Recording ID",
        "required": [
          "call_control_id",
          "call_leg_id",
          "call_session_id",
          "is_alive",
          "record_type"
        ],
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "call_leg_id": "2dc6fc34-f9e0-11ea-b68e-02420a0f7768",
          "call_session_id": "2dc1b3c8-f9e0-11ea-bc5a-02420a0f7768",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "is_alive": false,
          "call_duration": 50,
          "record_type": "call",
          "recording_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a",
          "start_time": "2019-01-23T18:10:02.574Z",
          "end_time": "2019-01-23T18:11:52.574Z"
        },
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "call"
            ],
            "example": "call"
          },
          "call_session_id": {
            "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b68e-5013ef9657c1"
          },
          "call_leg_id": {
            "description": "ID that is unique to the call and can be used to correlate webhook events",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1"
          },
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "is_alive": {
            "description": "Indicates whether the call is alive or not. For Dial command it will always be `false` (dialing is asynchronous).",
            "type": "boolean",
            "example": true
          },
          "client_state": {
            "description": "State received from a command.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "call_duration": {
            "description": "Indicates the duration of the call in seconds",
            "type": "integer",
            "example": 50
          },
          "recording_id": {
            "type": "string",
            "format": "uuid",
            "example": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a",
            "description": "The ID of the recording. Only present when the record parameter is set to record-from-answer."
          },
          "start_time": {
            "description": "ISO 8601 formatted date indicating when the call started",
            "type": "string",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "end_time": {
            "description": "ISO 8601 formatted date indicating when the call ended. Only present when the call is not alive",
            "type": "string",
            "example": "2019-01-23T18:11:52.574Z"
          }
        }
      },
      "CallerName": {
        "type": "object",
        "properties": {
          "caller_name": {
            "type": "string",
            "description": "The name of the requested phone number's owner as per the CNAM database",
            "example": "TELNYX LLC"
          },
          "error_code": {
            "type": "string",
            "description": "A caller-name lookup specific error code, expressed as a stringified 5-digit integer",
            "example": "10001"
          }
        }
      },
      "CampaignCost": {
        "title": "CampaignCost",
        "required": [
          "campaignUsecase",
          "monthlyCost",
          "upFrontCost",
          "description"
        ],
        "type": "object",
        "properties": {
          "campaignUsecase": {
            "title": "Campaignusecase",
            "type": "string"
          },
          "monthlyCost": {
            "title": "Monthlycost",
            "type": "string"
          },
          "upFrontCost": {
            "title": "Upfrontcost",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          }
        }
      },
      "CampaignDeletionResponse": {
        "title": "CampaignDeletionResponse",
        "required": [
          "time"
        ],
        "type": "object",
        "properties": {
          "time": {
            "title": "Time",
            "type": "number"
          },
          "record_type": {
            "title": "Record Type",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "CampaignRecordSet_CSP": {
        "title": "CampaignRecordSet_CSP",
        "type": "object",
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelnyxCampaignWithAssignedCount_CSP"
            }
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "totalRecords": {
            "title": "Totalrecords",
            "type": "integer"
          }
        }
      },
      "CampaignRequest": {
        "title": "CampaignRequest",
        "required": [
          "brandId",
          "description",
          "usecase"
        ],
        "type": "object",
        "properties": {
          "ageGated": {
            "title": "Agegated",
            "type": "boolean",
            "description": "Age gated message content in campaign."
          },
          "autoRenewal": {
            "title": "Autorenewal",
            "type": "boolean",
            "description": "Campaign subscription auto-renewal option. If set to true, then campaign will automatically renewal at end of billing cycle."
          },
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Alphanumeric identifier of the brand associated with this campaign."
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Summary description of this campaign."
          },
          "directLending": {
            "title": "Directlending",
            "type": "boolean",
            "description": "Direct lending or loan arrangement"
          },
          "embeddedLink": {
            "title": "Embeddedlink",
            "type": "boolean",
            "description": "Does message generated by the campaign include URL link in SMS?"
          },
          "embeddedPhone": {
            "title": "Embeddedphone",
            "type": "boolean",
            "description": "Does message generated by the campaign include phone number in SMS?"
          },
          "helpKeywords": {
            "title": "Helpkeywords",
            "type": "string",
            "description": "Subscriber help keywords. Multiple keywords are comma separated without space."
          },
          "helpMessage": {
            "title": "Helpmessage",
            "type": "string",
            "description": "Help message of the campaign."
          },
          "messageFlow": {
            "title": "Messageflow",
            "type": "string",
            "description": "Message flow description."
          },
          "mnoIds": {
            "title": "Mnoids",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Submit campaign to given list of MNOs by MNO's network ID. Default is all MNOs if no value provided."
          },
          "numberPool": {
            "title": "Numberpool",
            "type": "boolean",
            "description": "Does campaign utilize pool of phone numbers?"
          },
          "optinKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "description": "Subscriber opt-in keywords. Multiple keywords are comma separated without space."
          },
          "optinMessage": {
            "title": "Optinmessage",
            "type": "string",
            "description": "Subscriber opt-in message."
          },
          "optoutKeywords": {
            "title": "Optoutkeywords",
            "type": "string",
            "description": "Subscriber opt-out keywords. Multiple keywords are comma separated without space."
          },
          "optoutMessage": {
            "title": "Optoutmessage",
            "type": "string",
            "description": "Subscriber opt-out message."
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations."
          },
          "resellerId": {
            "title": "Resellerid",
            "type": "string",
            "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign."
          },
          "sample1": {
            "title": "Sample1",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 1 or more message samples."
          },
          "sample2": {
            "title": "Sample2",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 2 or more message samples."
          },
          "sample3": {
            "title": "Sample3",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 3 or more message samples."
          },
          "sample4": {
            "title": "Sample4",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 4 or more message samples."
          },
          "sample5": {
            "title": "Sample5",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 5 or more message samples."
          },
          "subUsecases": {
            "title": "Subusecases",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases"
          },
          "subscriberHelp": {
            "title": "Subscriberhelp",
            "type": "boolean",
            "description": "Does campaign responds to help keyword(s)?"
          },
          "subscriberOptin": {
            "title": "Subscriberoptin",
            "type": "boolean",
            "description": "Does campaign require subscriber to opt-in before SMS is sent to subscriber?"
          },
          "subscriberOptout": {
            "title": "Subscriberoptout",
            "type": "boolean",
            "description": "Does campaign support subscriber opt-out keyword(s)?"
          },
          "tag": {
            "title": "Tag",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags to be set on the Campaign."
          },
          "termsAndConditions": {
            "title": "Termsandconditions",
            "type": "boolean",
            "description": "Is terms and conditions accepted?"
          },
          "privacyPolicyLink": {
            "title": "PrivacyPolicyLink",
            "type": "string",
            "description": "Link to the campaign's privacy policy."
          },
          "termsAndConditionsLink": {
            "title": "TermsAndConditionsLink",
            "type": "string",
            "description": "Link to the campaign's terms and conditions."
          },
          "embeddedLinkSample": {
            "title": "EmbeddedLinkSample",
            "type": "string",
            "description": "Sample of an embedded link that will be sent to subscribers."
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand."
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent.",
            "example": "https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Failover webhook to which campaign status updates are sent.",
            "example": "https://webhook.com/93711262-23e5-4048-a966-c0b2a16d5963"
          }
        },
        "description": "CampaignRequest object describes the campaign to be submitted via '/campaignBuilder/brand/{brandId}/usecase/{usecase}' operation. It is also used in operations for retrieving status of campaign request and for updating a pending request."
      },
      "CampaignSharingChain": {
        "title": "CampaignSharingChain",
        "type": "object",
        "properties": {
          "sharedByMe": {
            "$ref": "#/components/schemas/CampaignSharingStatus"
          },
          "sharedWithMe": {
            "$ref": "#/components/schemas/CampaignSharingStatus"
          }
        }
      },
      "CampaignSharingStatus": {
        "title": "CampaignSharingStatus",
        "type": "object",
        "properties": {
          "downstreamCnpId": {
            "title": "Downstreamcnpid",
            "type": "string"
          },
          "sharedDate": {
            "title": "Shareddate",
            "type": "string"
          },
          "sharingStatus": {
            "title": "Sharingstatus",
            "type": "string"
          },
          "statusDate": {
            "title": "Statusdate",
            "type": "string"
          },
          "upstreamCnpId": {
            "title": "Upstreamcnpid",
            "type": "string"
          }
        }
      },
      "CampaignStatusUpdateEvent": {
        "title": "Campaign Status Update Event",
        "type": "object",
        "properties": {
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Brand ID associated with the campaign.",
            "example": "d88dd2aa-1bb9-4ef0-9ec8-1752b80316a5"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "The ID of the campaign.",
            "example": "4b300178-131c-d902-d54e-72d90ba1620j"
          },
          "createDate": {
            "title": "CreateDate",
            "type": "string",
            "description": "Unix timestamp when campaign was created."
          },
          "cspId": {
            "title": "Cspid",
            "type": "string",
            "description": "Alphanumeric identifier of the CSP associated with this campaign."
          },
          "isTMobileRegistered": {
            "title": "IsTMobileRegistered",
            "type": "boolean",
            "description": "Indicates whether the campaign is registered with T-Mobile."
          },
          "type": {
            "title": "Type",
            "type": "string",
            "enum": [
              "TELNYX_EVENT",
              "REGISTRATION",
              "MNO_REVIEW",
              "TELNYX_REVIEW",
              "NUMBER_POOL_PROVISIONED",
              "NUMBER_POOL_DEPROVISIONED",
              "TCR_EVENT",
              "VERIFIED"
            ],
            "example": "TELNYX_EVENT"
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Description of the event.",
            "example": "Campaign has been marked as dormant"
          },
          "status": {
            "title": "Status",
            "type": "string",
            "enum": [
              "ACCEPTED",
              "REJECTED",
              "DORMANT",
              "success",
              "failed"
            ],
            "description": "The status of the campaign.",
            "example": "DORMANT"
          }
        }
      },
      "CanaryDeployRequest": {
        "properties": {
          "rules": {
            "title": "Rules",
            "items": {
              "$ref": "#/components/schemas/Rule-Input"
            },
            "type": "array"
          }
        },
        "type": "object",
        "title": "CanaryDeployRequest",
        "description": "Create/update request body. Accepts:\n- ``rules`` — canonical ordered list of routing rules"
      },
      "CanaryDeployResponse": {
        "properties": {
          "assistant_id": {
            "type": "string",
            "title": "Assistant Id"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/Rule-Output"
            },
            "type": "array",
            "title": "Rules"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "assistant_id",
          "rules",
          "created_at",
          "updated_at"
        ],
        "title": "CanaryDeployResponse",
        "description": "Response shape.\n\nAlways carries ``rules`` (canonical)."
      },
      "Carrier": {
        "type": "object",
        "properties": {
          "mobile_country_code": {
            "type": "string",
            "description": "Region code that matches the specific country calling code if the requested phone number type is mobile",
            "example": "US"
          },
          "mobile_network_code": {
            "type": "string",
            "description": "National destination code (NDC), with a 0 prefix, if an NDC is found and the requested phone number type is mobile",
            "example": "0866"
          },
          "name": {
            "type": "string",
            "description": "SPID (Service Provider ID) name, if the requested phone number has been ported; otherwise, the name of carrier who owns the phone number block",
            "example": "Telnyx/4"
          },
          "type": {
            "type": "string",
            "description": "A phone number type that identifies the type of service associated with the requested phone number",
            "enum": [
              "fixed line",
              "mobile",
              "voip",
              "fixed line or mobile",
              "toll free",
              "premium rate",
              "shared cost",
              "personal number",
              "pager",
              "uan",
              "voicemail",
              "unknown"
            ],
            "example": "voip"
          },
          "error_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unused",
            "example": null
          },
          "normalized_carrier": {
            "type": "string",
            "description": "If known to Telnyx and applicable, the primary network carrier.",
            "example": "AT&T"
          }
        }
      },
      "CdrAvailableFieldsResponse": {
        "type": "object",
        "properties": {
          "Interaction Data": {
            "type": "array",
            "description": "Fields related to call interaction and basic call information",
            "items": {
              "type": "string"
            },
            "example": [
              "origination_number",
              "terminating_number",
              "start_timestamp_utc",
              "start_timestamp",
              "answer_timestamp",
              "end_timestamp",
              "direction"
            ]
          },
          "Number Information": {
            "type": "array",
            "description": "Geographic and routing information for phone numbers",
            "items": {
              "type": "string"
            },
            "example": [
              "origination_city",
              "origination_state",
              "origination_lata",
              "origination_country",
              "terminating_city",
              "terminating_state"
            ]
          },
          "Telephony Data": {
            "type": "array",
            "description": "Technical telephony and call control information",
            "items": {
              "type": "string"
            },
            "example": [
              "route",
              "connection_id",
              "hangup_code",
              "pdd",
              "tags",
              "sip_call_id",
              "mos"
            ]
          },
          "Billing": {
            "type": "array",
            "description": "Cost and billing related information",
            "items": {
              "type": "string"
            },
            "example": [
              "billable_time",
              "cost",
              "rate",
              "billing_group_id"
            ]
          }
        },
        "description": "Available CDR report fields grouped by category"
      },
      "CdrDeleteDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrDetailedReqResponse"
          }
        }
      },
      "CdrDeleteUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrUsageReportResponseLegacy"
          }
        }
      },
      "CdrDetailedReqResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the report",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "start_time": {
            "type": "string",
            "description": "Start time in ISO format",
            "example": "2024-02-01T00:00:00Z"
          },
          "end_time": {
            "type": "string",
            "description": "End time in ISO format",
            "example": "2024-02-12T23:59:59Z"
          },
          "call_types": {
            "type": "array",
            "description": "List of call types (Inbound = 1, Outbound = 2)",
            "items": {
              "type": "integer",
              "description": "Call type value",
              "format": "int32"
            }
          },
          "record_types": {
            "type": "array",
            "description": "List of record types (Complete = 1, Incomplete = 2, Errors = 3)",
            "example": [
              1,
              2
            ],
            "items": {
              "type": "integer",
              "description": "Record type value",
              "format": "int32"
            }
          },
          "connections": {
            "type": "array",
            "description": "List of connections",
            "example": [
              123,
              456
            ],
            "items": {
              "type": "integer",
              "description": "List of connections",
              "format": "int64"
            }
          },
          "report_name": {
            "type": "string",
            "description": "Name of the report",
            "example": "My Report"
          },
          "status": {
            "type": "integer",
            "description": "Status of the report (Pending = 1, Complete = 2, Failed = 3, Expired = 4)",
            "format": "int32",
            "example": 1
          },
          "report_url": {
            "type": "string",
            "description": "URL to download the report"
          },
          "filters": {
            "type": "array",
            "description": "List of filters",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "created_at": {
            "type": "string",
            "description": "Creation date of the report",
            "example": "2024-02-12T14:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "description": "Last update date of the report",
            "example": "2024-02-12T14:05:00Z"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the report"
          },
          "source": {
            "type": "string",
            "description": "Source of the report. Valid values: calls (default), call-control, fax-api, webrtc"
          },
          "retry": {
            "type": "integer",
            "description": "Number of retries",
            "format": "int32"
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed accounts",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          },
          "record_type": {
            "type": "string",
            "example": "cdr_detailed_report"
          }
        },
        "description": "Response object for CDR detailed report"
      },
      "CdrDetailedRequest": {
        "required": [
          "start_time",
          "end_time"
        ],
        "type": "object",
        "properties": {
          "start_time": {
            "type": "string",
            "description": "Start time in ISO format",
            "format": "date-time",
            "example": "2024-02-01T00:00:00Z"
          },
          "end_time": {
            "type": "string",
            "description": "End time in ISO format",
            "format": "date-time",
            "example": "2024-02-12T23:59:59Z"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the report",
            "example": "UTC"
          },
          "call_types": {
            "type": "array",
            "description": "List of call types to filter by (Inbound = 1, Outbound = 2)",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "example": [
              1,
              2
            ]
          },
          "record_types": {
            "type": "array",
            "description": "List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "example": [
              1,
              2
            ]
          },
          "connections": {
            "type": "array",
            "description": "List of connections to filter by",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "example": [
              123,
              456
            ]
          },
          "report_name": {
            "type": "string",
            "description": "Name of the report",
            "example": "My CDR Report"
          },
          "source": {
            "type": "string",
            "description": "Source of the report. Valid values: calls (default), call-control, fax-api, webrtc",
            "example": "calls"
          },
          "include_all_metadata": {
            "type": "boolean",
            "description": "Whether to include all metadata",
            "example": true
          },
          "filters": {
            "type": "array",
            "description": "List of filters to apply",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "fields": {
            "type": "array",
            "description": "Set of fields to include in the report",
            "items": {
              "type": "string"
            },
            "example": [
              "call_leg_id",
              "start_time",
              "end_time"
            ]
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed accounts to include",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          },
          "select_all_managed_accounts": {
            "type": "boolean",
            "description": "Whether to select all managed accounts",
            "example": false
          }
        },
        "description": "Request object for CDR detailed report"
      },
      "CdrGetDetailReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrDetailedReqResponse"
          }
        }
      },
      "CdrGetDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CdrDetailedReqResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/batch-csv_PaginationMeta"
          }
        }
      },
      "CdrGetSyncUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrUsageReportResponse"
          }
        }
      },
      "CdrGetUsageReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrUsageReportResponseLegacy"
          }
        }
      },
      "CdrGetUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CdrUsageReportResponseLegacy"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/standard_PaginationMeta"
          }
        }
      },
      "CdrPostDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrDetailedReqResponse"
          }
        }
      },
      "CdrPostUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CdrUsageReportResponseLegacy"
          }
        }
      },
      "CdrUsageReportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "format": "uuid"
          },
          "start_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "connections": {
            "type": "array",
            "example": [
              1234567890,
              9876543210
            ],
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "aggregation_type": {
            "type": "string",
            "enum": [
              "NO_AGGREGATION",
              "CONNECTION",
              "TAG",
              "BILLING_GROUP"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "COMPLETE",
              "FAILED",
              "EXPIRED"
            ]
          },
          "report_url": {
            "type": "string",
            "example": "http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv"
          },
          "result": {
            "type": "object",
            "additionalProperties": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "record_type": {
            "type": "string",
            "example": "cdr_usage_report"
          },
          "product_breakdown": {
            "type": "string",
            "enum": [
              "NO_BREAKDOWN",
              "DID_VS_TOLL_FREE",
              "COUNTRY",
              "DID_VS_TOLL_FREE_PER_COUNTRY"
            ]
          }
        }
      },
      "CdrUsageReportResponseLegacy": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "format": "uuid"
          },
          "start_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "connections": {
            "uniqueItems": true,
            "type": "array",
            "example": [
              "1234567890",
              "9876543210"
            ],
            "items": {
              "type": "string"
            }
          },
          "aggregation_type": {
            "type": "integer",
            "description": "Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "description": "Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4",
            "format": "int32"
          },
          "report_url": {
            "type": "string",
            "example": "http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv"
          },
          "result": {
            "type": "object"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "record_type": {
            "type": "string",
            "example": "cdr_usage_report"
          },
          "product_breakdown": {
            "type": "integer",
            "description": "Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID vs Toll-free per Country = 3",
            "format": "int32"
          }
        },
        "description": "Legacy V2 CDR usage report response"
      },
      "ChatCompletionRequest": {
        "properties": {
          "messages": {
            "items": {
              "$ref": "#/components/schemas/ChatCompletionSystemMessageParam"
            },
            "type": "array",
            "example": [
              {
                "role": "system",
                "content": "You are a friendly chatbot."
              },
              {
                "role": "user",
                "content": "Hello, world!"
              }
            ],
            "description": "A list of the previous chat messages for context."
          },
          "model": {
            "type": "string",
            "default": "meta-llama/Meta-Llama-3.1-8B-Instruct",
            "description": "The language model to chat with."
          },
          "api_key_ref": {
            "type": "string",
            "description": "If you are using an external inference provider like xAI or OpenAI, this field allows you to pass along a reference to your API key. After creating an [integration secret](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for you API key, pass the secret's `identifier` in this field."
          },
          "stream": {
            "type": "boolean",
            "default": false,
            "description": "Whether or not to stream data-only server-sent events as they become available."
          },
          "temperature": {
            "type": "number",
            "default": 0.1,
            "description": "Adjusts the \"creativity\" of the model. Lower values make the model more deterministic and repetitive, while higher values make the model more random and creative."
          },
          "max_tokens": {
            "type": "integer",
            "description": "Maximum number of completion tokens the model should generate."
          },
          "tools": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ChatCompletionToolParam"
                },
                {
                  "$ref": "#/components/schemas/Retrieval"
                }
              ]
            },
            "type": "array",
            "description": "The `function` tool type follows the same schema as the [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat). The `retrieval` tool type is unique to Telnyx. You may pass a list of [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents) for retrieval-augmented generation."
          },
          "tool_choice": {
            "type": "string",
            "enum": [
              "none",
              "auto",
              "required"
            ]
          },
          "response_format": {
            "description": "Use this is you want to guarantee a JSON output without defining a schema. For control over the schema, use `guided_json`.",
            "$ref": "#/components/schemas/ChatCompletionResponseFormatParam"
          },
          "guided_json": {
            "type": "object",
            "description": "Must be a valid JSON schema. If specified, the output will follow the JSON schema.",
            "additionalProperties": true
          },
          "guided_regex": {
            "type": "string",
            "description": "If specified, the output will follow the regex pattern."
          },
          "guided_choice": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "If specified, the output will be exactly one of the choices."
          },
          "min_p": {
            "type": "number",
            "description": "This is an alternative to `top_p` that [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be in [0, 1]."
          },
          "n": {
            "type": "number",
            "description": "This will return multiple choices for you instead of a single chat completion."
          },
          "use_beam_search": {
            "type": "boolean",
            "default": false,
            "description": "Setting this to `true` will allow the model to [explore more completion options](https://huggingface.co/blog/how-to-generate#beam-search). This is not supported by OpenAI."
          },
          "best_of": {
            "type": "integer",
            "description": "This is used with `use_beam_search` to determine how many candidate beams to explore."
          },
          "length_penalty": {
            "type": "number",
            "default": 1,
            "description": "This is used with `use_beam_search` to prefer shorter or longer completions."
          },
          "early_stopping": {
            "type": "boolean",
            "default": false,
            "description": "This is used with `use_beam_search`. If `true`, generation stops as soon as there are `best_of` complete candidates; if `false`, a heuristic is applied and the generation stops when is it very unlikely to find better candidates."
          },
          "logprobs": {
            "type": "boolean",
            "default": false,
            "description": "Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`."
          },
          "top_logprobs": {
            "type": "integer",
            "description": "This is used with `logprobs`. An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability."
          },
          "frequency_penalty": {
            "type": "number",
            "default": 0,
            "description": "Higher values will penalize the model from repeating the same output tokens."
          },
          "presence_penalty": {
            "type": "number",
            "default": 0,
            "description": "Higher values will penalize the model from repeating the same output tokens."
          },
          "top_p": {
            "type": "number",
            "description": "An alternative or complement to `temperature`. This adjusts how many of the top possibilities to consider."
          },
          "stop": {
            "description": "Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 4
              }
            ]
          },
          "seed": {
            "type": "integer",
            "description": "If specified, the system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result."
          },
          "enable_thinking": {
            "type": "boolean",
            "default": true,
            "description": "Whether to enable the thinking/reasoning phase for models that support it (e.g., QwQ, Qwen3). When set to false, the model will skip the internal reasoning step and respond directly, which can reduce latency. Defaults to true."
          }
        },
        "type": "object",
        "required": [
          "messages"
        ],
        "title": "ChatCompletionRequest"
      },
      "ChatCompletionResponseFormatParam": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text",
              "json_object"
            ]
          }
        },
        "type": "object",
        "required": [
          "type"
        ],
        "title": "ChatCompletionResponseFormatParam"
      },
      "ChatCompletionSystemMessageParam": {
        "type": "object",
        "properties": {
          "content": {
            "oneOf": [
              {
                "title": "Content String",
                "type": "string"
              },
              {
                "title": "Text and Image Array",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "text",
                        "image_url"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false
                }
              }
            ]
          },
          "role": {
            "type": "string",
            "enum": [
              "system",
              "user",
              "assistant",
              "tool"
            ]
          }
        },
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionSystemMessageParam"
      },
      "ChatCompletionToolParam": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "function"
            ]
          },
          "function": {
            "$ref": "#/components/schemas/FunctionDefinition"
          }
        },
        "type": "object",
        "required": [
          "function",
          "type"
        ],
        "title": "Function"
      },
      "CheckAvailabilityTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "check_availability"
            ]
          },
          "check_availability": {
            "$ref": "#/components/schemas/CheckAvailabilityToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "check_availability"
        ],
        "title": "CheckAvailabilityTool"
      },
      "CheckAvailabilityToolParams": {
        "properties": {
          "event_type_id": {
            "type": "integer",
            "description": "Event Type ID for which slots are being fetched. [cal.com](https://cal.com/docs/api-reference/v2/slots/get-available-slots#parameter-event-type-id)"
          },
          "api_key_ref": {
            "type": "string",
            "description": "Reference to an integration secret that contains your Cal.com API key. You would pass the `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your Cal.com API key.",
            "example": "my_calcom_api_key"
          }
        },
        "type": "object",
        "required": [
          "event_type_id",
          "api_key_ref"
        ],
        "title": "CheckAvailabilityToolParams"
      },
      "ChildRelationshipInfo": {
        "type": "object",
        "required": [
          "relationship_type",
          "via",
          "cost_rollup",
          "traversal_enabled",
          "description",
          "child_product",
          "child_event",
          "child_record_type"
        ],
        "properties": {
          "relationship_type": {
            "type": "string"
          },
          "via": {
            "$ref": "#/components/schemas/MetadataFieldMapping"
          },
          "cost_rollup": {
            "type": "boolean"
          },
          "traversal_enabled": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "child_product": {
            "type": "string"
          },
          "child_event": {
            "type": "string"
          },
          "child_record_type": {
            "type": "string"
          }
        }
      },
      "CivicAddress": {
        "type": "object",
        "title": "Civic Address",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/UUID"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "civic_address"
          },
          "city_or_town": {
            "type": "string",
            "example": "Chicago"
          },
          "city_or_town_alias": {
            "type": "string"
          },
          "company_name": {
            "type": "string",
            "example": "Telnyx"
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "country_or_district": {
            "type": "string",
            "example": "US"
          },
          "default_location_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies what is the default location in the list of locations."
          },
          "description": {
            "type": "string",
            "example": "Texas Office"
          },
          "house_number": {
            "type": "string",
            "example": "600"
          },
          "house_number_suffix": {
            "type": "string"
          },
          "postal_or_zip_code": {
            "type": "string",
            "example": "78701"
          },
          "state_or_province": {
            "type": "string",
            "example": "TX"
          },
          "street_name": {
            "type": "string",
            "example": "Congress"
          },
          "street_suffix": {
            "type": "string",
            "example": "St"
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Location"
            }
          }
        },
        "example": {
          "id": "07a4dc5d-9b3b-4ba2-88a4-6ba172316c65",
          "record_type": "civic_address",
          "city_or_town": "Austin",
          "city_or_town_alias": "",
          "company_name": "Telnyx",
          "country": "US",
          "country_or_district": "US",
          "default_location_id": "18ded4bb-b694-44c1-a89b-a35b7acd4c9e",
          "description": "Austin Office",
          "house_number": "600",
          "house_number_suffix": "",
          "locations": [
            {
              "id": "18ded4bb-b694-44c1-a89b-a35b7acd4c9e",
              "additional_info": "",
              "description": "Austin Office",
              "is_default": true
            },
            {
              "id": "d420a57f-c4ae-4697-87e1-fbefd9e86f72",
              "additional_info": "14th Floor",
              "description": "",
              "is_default": false
            }
          ],
          "postal_or_zip_code": "78701",
          "state_or_province": "TX",
          "street_name": "Congress Street",
          "street_suffix": ""
        }
      },
      "Clause": {
        "properties": {
          "attribute": {
            "type": "string",
            "title": "Attribute",
            "description": "Attribute name from the routing context"
          },
          "operator": {
            "$ref": "#/components/schemas/Operator",
            "description": "Match operator"
          },
          "values": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "minItems": 1,
            "title": "Values"
          }
        },
        "type": "object",
        "required": [
          "attribute",
          "operator",
          "values"
        ],
        "title": "Clause",
        "description": "A single attribute/operator/values check.\n\nA clause matches when the routing context's value for ``attribute``\nsatisfies ``operator`` against any of ``values``."
      },
      "ClientStateUpdateRequest": {
        "type": "object",
        "title": "Update client state Request",
        "required": [
          "client_state"
        ],
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d"
        }
      },
      "ClientTextFrame": {
        "type": "object",
        "description": "Client-to-server frame containing text to synthesize.",
        "required": [
          "text"
        ],
        "properties": {
          "text": {
            "type": "string",
            "description": "Text to convert to speech. Send `\" \"` (single space) as an initial handshake with optional `voice_settings`. Subsequent messages contain the actual text to synthesize."
          },
          "voice_settings": {
            "type": "object",
            "description": "Provider-specific voice settings sent with the initial handshake. Contents vary by provider — e.g. `{\"speed\": 1.2}` for Minimax, `{\"voice_speed\": 1.5}` for Telnyx.",
            "additionalProperties": true
          },
          "force": {
            "type": "boolean",
            "description": "When `true`, stops the current synthesis worker and starts a new one. Used to interrupt speech mid-stream and begin synthesizing new text."
          }
        },
        "examples": [
          {
            "text": " ",
            "voice_settings": {
              "voice_speed": 1.2
            }
          },
          {
            "text": "Hello, welcome to Telnyx text to speech."
          },
          {
            "text": "New text after interruption.",
            "force": true
          }
        ]
      },
      "CloudflareSyncStatus": {
        "title": "CloudflareSyncStatus",
        "enum": [
          "pending",
          "added"
        ],
        "type": "string",
        "description": "An enumeration."
      },
      "ClusterNode": {
        "properties": {
          "filename": {
            "type": "string",
            "description": "The corresponding source file of your embedded storage bucket that the node is from."
          },
          "text": {
            "type": "string",
            "description": "The text of the node."
          }
        },
        "type": "object",
        "required": [
          "filename",
          "text"
        ],
        "title": "ClusterNode"
      },
      "ClusteringRequestInfo": {
        "properties": {
          "task_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "bucket": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "finished_at": {
            "type": "string",
            "format": "date-time"
          },
          "min_cluster_size": {
            "type": "integer"
          },
          "min_subcluster_size": {
            "type": "integer"
          }
        },
        "type": "object",
        "required": [
          "task_id",
          "status",
          "bucket",
          "created_at",
          "finished_at",
          "min_cluster_size",
          "min_subcluster_size"
        ],
        "title": "ClusteringRequestInfo"
      },
      "ClusteringRequestInfoData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ClusteringRequestInfo"
            },
            "type": "array"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "ClusteringRequestInfoData"
      },
      "ClusteringStatusResponse": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "bucket": {
            "type": "string"
          },
          "clusters": {
            "items": {
              "$ref": "#/components/schemas/RecursiveCluster"
            },
            "type": "array"
          }
        },
        "type": "object",
        "required": [
          "status",
          "bucket",
          "clusters"
        ],
        "title": "ClusteringStatusResponse"
      },
      "ClusteringStatusResponseData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ClusteringStatusResponse"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ClusteringStatusResponseData"
      },
      "CnamListing": {
        "description": "The CNAM listing settings for a phone number.",
        "type": "object",
        "properties": {
          "cnam_listing_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enables CNAM listings for this number. Requires cnam_listing_details to also be set."
          },
          "cnam_listing_details": {
            "type": "string",
            "description": "The CNAM listing details for this number. Must be alphanumeric characters or spaces with a maximum length of 15. Requires cnam_listing_enabled to also be set to true."
          }
        },
        "example": {
          "cnam_listing_enabled": true,
          "cnam_listing_details": "example"
        }
      },
      "Comment": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "body": {
            "type": "string",
            "example": "Hi there, ...."
          },
          "commenter": {
            "type": "string",
            "example": "user@company.com",
            "readOnly": true
          },
          "commenter_type": {
            "type": "string",
            "example": "user",
            "enum": [
              "admin",
              "user"
            ],
            "readOnly": true
          },
          "comment_record_type": {
            "type": "string",
            "example": "sub_number_order",
            "enum": [
              "sub_number_order",
              "requirement_group"
            ]
          },
          "comment_record_id": {
            "type": "string",
            "format": "uuid",
            "example": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576"
          },
          "read_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the comment was read.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the comment was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the comment was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "ComparativeLine": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "comparative"
            ],
            "example": "comparative"
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Local DIDs"
          },
          "alias": {
            "type": "string",
            "description": "Service alias",
            "example": "local"
          },
          "new_this_month": {
            "$ref": "#/components/schemas/MonthDetail"
          },
          "existing_this_month": {
            "$ref": "#/components/schemas/MonthDetail"
          }
        },
        "required": [
          "type",
          "name",
          "alias",
          "new_this_month",
          "existing_this_month"
        ]
      },
      "CompleteOTAUpdate": {
        "type": "object",
        "title": "OTAUpdate",
        "description": "This object represents an Over the Air (OTA) update request. It allows tracking the current status of a operation that apply settings in a particular SIM card. <br/><br/>",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "example": "ota_update",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identification UUID of the related SIM card resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "type": {
            "type": "string",
            "description": "Represents the type of the operation requested. This will relate directly to the source of the request.",
            "enum": [
              "sim_card_network_preferences"
            ],
            "example": "sim_card_network_preferences"
          },
          "status": {
            "type": "string",
            "enum": [
              "in-progress",
              "completed",
              "failed"
            ],
            "example": "in-progress"
          },
          "settings": {
            "type": "object",
            "description": "A JSON object representation of the operation. The information present here will relate directly to the source of the OTA request.",
            "properties": {
              "mobile_network_operators_preferences": {
                "$ref": "#/components/schemas/MobileNetworkOperatorsPreferencesResponse"
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "created_at": "2018-02-02T22:25:27.521Z",
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "ota_update",
          "settings": {
            "mobile_network_operators_preferences": [
              {
                "mobile_network_operator_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
                "mobile_network_operator_name": "AT&T Mobility (USACG)",
                "priority": 0
              }
            ]
          },
          "sim_card_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "status": "in-progress",
          "type": "sim_card_network_preferences",
          "updated_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "Conference": {
        "type": "object",
        "title": "Conference",
        "required": [
          "record_type",
          "id",
          "name",
          "created_at",
          "expires_at"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "conference"
            ],
            "example": "conference"
          },
          "id": {
            "type": "string",
            "description": "Uniquely identifies the conference",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "name": {
            "type": "string",
            "description": "Name of the conference",
            "example": "All hands meeting"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the conference was created",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "expires_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the conference will expire",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the conference was last updated",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "region": {
            "type": "string",
            "description": "Region where the conference is hosted",
            "example": "sv1"
          },
          "status": {
            "type": "string",
            "enum": [
              "init",
              "in_progress",
              "completed"
            ],
            "description": "Status of the conference",
            "example": "completed"
          },
          "end_reason": {
            "type": "string",
            "enum": [
              "all_left",
              "ended_via_api",
              "host_left",
              "time_exceeded"
            ],
            "description": "Reason why the conference ended",
            "example": "all_left"
          },
          "ended_by": {
            "type": "object",
            "description": "IDs related to who ended the conference. It is expected for them to all be there or all be null",
            "properties": {
              "call_control_id": {
                "type": "string",
                "description": "Call Control ID which ended the conference",
                "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ=="
              },
              "call_session_id": {
                "type": "string",
                "description": "Call Session ID which ended the conference",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1"
              }
            }
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the connection associated with the conference",
            "example": "3fa85f64-9191-4567-b3fc-2c963f66afa6"
          }
        },
        "example": {
          "record_type": "conference",
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "name": "All hands meeting",
          "created_at": "2019-01-23T18:10:02.574Z",
          "expires_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "region": "sv1",
          "status": "completed",
          "end_reason": "all_left",
          "ended_by": {
            "call_control_id": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ==",
            "call_session_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1"
          },
          "connection_id": "3fa85f64-9191-4567-b3fc-2c963f66afa6"
        }
      },
      "ConferenceCommandResult": {
        "type": "object",
        "title": "Conference Command Result",
        "required": [
          "result"
        ],
        "properties": {
          "result": {
            "type": "string",
            "example": "ok"
          }
        },
        "example": {
          "result": "ok"
        }
      },
      "ConferenceCreated": {
        "type": "object",
        "title": "Conference Created",
        "example": {
          "record_type": "event",
          "event_type": "conference.created",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.created",
            "enum": [
              "conference.created"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Conference ID that the participant joined."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceCreatedEvent": {
        "type": "object",
        "title": "Conference Created Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceCreated"
          }
        }
      },
      "ConferenceDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Conference id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "name": {
            "type": "string",
            "description": "Conference name",
            "example": "My Conference"
          },
          "user_id": {
            "type": "string",
            "description": "User id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "started_at": {
            "type": "string",
            "description": "Conference start time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "ended_at": {
            "type": "string",
            "description": "Conference end time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "expires_at": {
            "type": "string",
            "description": "Conference expiry time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "region": {
            "type": "string",
            "description": "Region where the conference is hosted",
            "example": "ch1"
          },
          "call_leg_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies the conference call leg",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "call_session_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies with conference call session",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "connection_id": {
            "type": "string",
            "description": "Connection id",
            "example": "1583941447772537867"
          },
          "call_sec": {
            "type": "integer",
            "description": "Duration of the conference call in seconds",
            "example": 100
          },
          "participant_count": {
            "type": "integer",
            "description": "Number of participants that joined the conference call",
            "example": 5
          },
          "participant_call_sec": {
            "type": "integer",
            "description": "Sum of the conference call duration for all participants in seconds",
            "example": 100
          },
          "is_telnyx_billable": {
            "type": "boolean",
            "description": "Indicates whether Telnyx billing charges might be applicable",
            "example": false
          },
          "record_type": {
            "type": "string",
            "example": "conference_detail_record",
            "default": "conference_detail_record"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "ConferenceEnded": {
        "type": "object",
        "title": "Conference Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.ended",
            "enum": [
              "conference.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Conference ID that the participant joined."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              },
              "reason": {
                "type": "string",
                "enum": [
                  "all_left",
                  "host_left",
                  "time_exceeded"
                ],
                "description": "Reason the conference ended."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "conference.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z",
            "reason": "host_left"
          }
        }
      },
      "ConferenceEndedEvent": {
        "type": "object",
        "title": "Conference Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceEnded"
          }
        }
      },
      "ConferenceFloorChangedEvent": {
        "type": "object",
        "title": "Conference Floor Changed",
        "example": {
          "record_type": "event",
          "event_type": "conference.floor.changed",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.floor.changed",
            "enum": [
              "conference.floor.changed"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call Control ID of the new speaker."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "Call Leg ID of the new speaker."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Call Session ID of the new speaker."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Conference ID that had a speaker change event."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceGatherUsingAudioRequest": {
        "type": "object",
        "title": "Conference Gather Using Audio Request",
        "required": [
          "call_control_id"
        ],
        "properties": {
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call leg that will receive the gather prompt.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "audio_url": {
            "description": "The URL of the audio file to play as the gather prompt. Must be WAV or MP3 format.",
            "type": "string",
            "example": "http://example.com/gather_prompt.wav"
          },
          "media_name": {
            "description": "The name of the media file uploaded to the Media Storage API to play as the gather prompt.",
            "type": "string"
          },
          "minimum_digits": {
            "description": "Minimum number of digits to gather.",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "example": 1
          },
          "maximum_digits": {
            "description": "Maximum number of digits to gather.",
            "type": "integer",
            "default": 128,
            "minimum": 1,
            "example": 10
          },
          "maximum_tries": {
            "description": "Maximum number of times to play the prompt if no input is received.",
            "type": "integer",
            "default": 3,
            "minimum": 1,
            "example": 3
          },
          "timeout_millis": {
            "description": "Duration in milliseconds to wait for input before timing out.",
            "type": "integer",
            "default": 60000,
            "example": 30000
          },
          "terminating_digit": {
            "description": "Digit that terminates gathering.",
            "type": "string",
            "default": "#",
            "example": "#"
          },
          "valid_digits": {
            "description": "Digits that are valid for gathering. All other digits will be ignored.",
            "type": "string",
            "default": "0123456789#*",
            "example": "0123456789"
          },
          "inter_digit_timeout_millis": {
            "description": "Duration in milliseconds to wait between digits.",
            "type": "integer",
            "default": 5000,
            "example": 3000
          },
          "initial_timeout_millis": {
            "description": "Duration in milliseconds to wait for the first digit before timing out.",
            "type": "integer",
            "example": 10000
          },
          "stop_playback_on_dtmf": {
            "description": "Whether to stop the audio playback when a DTMF digit is received.",
            "type": "boolean",
            "default": true,
            "example": true
          },
          "invalid_audio_url": {
            "description": "URL of audio file to play when invalid input is received.",
            "type": "string"
          },
          "invalid_media_name": {
            "description": "Name of media file to play when invalid input is received.",
            "type": "string"
          },
          "gather_id": {
            "description": "Identifier for this gather command. Will be included in the gather ended webhook. Maximum 100 characters.",
            "type": "string",
            "maxLength": 100
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. Must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        },
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "audio_url": "http://example.com/gather_prompt.wav",
          "minimum_digits": 1,
          "maximum_digits": 4,
          "timeout_millis": 30000
        }
      },
      "ConferenceHoldRequest": {
        "type": "object",
        "title": "Conference Hold Request",
        "properties": {
          "call_control_ids": {
            "description": "List of unique identifiers and tokens for controlling the call. When empty all participants will be placed on hold.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played to the participants when they are put on hold. media_name and audio_url cannot be used together in one request."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played to the participants when they are put on hold. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_ids": [
            "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          ],
          "audio_url": "http://example.com/message.wav"
        }
      },
      "ConferenceMuteRequest": {
        "type": "object",
        "title": "Conference Mute Request",
        "properties": {
          "call_control_ids": {
            "description": "Array of unique identifiers and tokens for controlling the call. When empty all participants will be muted.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_ids": [
            "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          ]
        }
      },
      "ConferenceParticipant": {
        "type": "object",
        "title": "Conference Participant",
        "properties": {
          "id": {
            "description": "Uniquely identifies the participant.",
            "type": "string"
          },
          "call_control_id": {
            "description": "Unique identifier and token for controlling the participant's call leg.",
            "type": "string"
          },
          "call_leg_id": {
            "description": "Unique identifier for the call leg.",
            "type": "string"
          },
          "conference_id": {
            "description": "Unique identifier for the conference.",
            "type": "string"
          },
          "label": {
            "description": "Label assigned to the participant when joining.",
            "type": "string"
          },
          "status": {
            "description": "Status of the participant.",
            "type": "string",
            "enum": [
              "joining",
              "joined",
              "left"
            ]
          },
          "muted": {
            "description": "Whether the participant is muted.",
            "type": "boolean"
          },
          "on_hold": {
            "description": "Whether the participant is on hold.",
            "type": "boolean"
          },
          "whisper_call_control_ids": {
            "description": "List of call control IDs this participant is whispering to.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "description": "Timestamp when the participant joined.",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "description": "Timestamp when the participant was last updated.",
            "type": "string",
            "format": "date-time"
          },
          "end_conference_on_exit": {
            "description": "Whether the conference ends when this participant exits.",
            "type": "boolean"
          },
          "soft_end_conference_on_exit": {
            "description": "Whether the conference soft-ends when this participant exits.",
            "type": "boolean"
          }
        }
      },
      "ConferenceParticipantDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Participant id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "user_id": {
            "type": "string",
            "description": "User id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "conference_id": {
            "type": "string",
            "description": "Conference id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "joined_at": {
            "type": "string",
            "description": "Participant join time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "left_at": {
            "type": "string",
            "description": "Participant leave time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "destination_number": {
            "type": "string",
            "description": "Number called by the participant to join the conference",
            "example": "+18005550199"
          },
          "originating_number": {
            "type": "string",
            "description": "Participant origin number used in the conference call",
            "example": "+18005550199"
          },
          "call_leg_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies the conference call leg",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "call_session_id": {
            "type": "string",
            "description": "Telnyx UUID that identifies with conference call session",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "call_sec": {
            "type": "integer",
            "description": "Duration of the conference call in seconds",
            "example": 100
          },
          "billed_sec": {
            "type": "integer",
            "description": "Duration of the conference call for billing purposes",
            "example": 120
          },
          "is_telnyx_billable": {
            "type": "boolean",
            "description": "Indicates whether Telnyx billing charges might be applicable",
            "example": true
          },
          "rate": {
            "type": "string",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing cost",
            "example": "0.002"
          },
          "rate_measured_in": {
            "type": "string",
            "description": "Billing unit used to calculate the Telnyx billing cost",
            "example": "minutes"
          },
          "cost": {
            "type": "string",
            "description": "Currency amount for Telnyx billing cost",
            "example": "0.004"
          },
          "currency": {
            "type": "string",
            "description": "Telnyx account currency used to describe monetary values, including billing cost",
            "example": "USD"
          },
          "record_type": {
            "type": "string",
            "example": "conference_participant_detail_record",
            "default": "conference_participant_detail_record"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "ConferenceParticipantJoined": {
        "type": "object",
        "title": "Conference Participant Joined",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.joined",
            "enum": [
              "conference.participant.joined"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Conference ID that the participant joined."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.joined",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1"
          }
        }
      },
      "ConferenceParticipantJoinedEvent": {
        "type": "object",
        "title": "Conference Participant Joined Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantJoined"
          }
        }
      },
      "ConferenceParticipantLeft": {
        "type": "object",
        "title": "Conference Participant Left",
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.left",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.left",
            "enum": [
              "conference.participant.left"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "Conference ID that the participant joined."
              }
            }
          }
        }
      },
      "ConferenceParticipantLeftEvent": {
        "type": "object",
        "title": "Conference Participant Left Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantLeft"
          }
        }
      },
      "ConferenceParticipantPlaybackEnded": {
        "type": "object",
        "title": "Conference Participant Playback Ended",
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.playback.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "media_url": "https://www.example.com/audio.mp3",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.playback.ended",
            "enum": [
              "conference.participant.playback.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Participant's call ID used to issue commands via Call Control API."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceParticipantPlaybackEndedEvent": {
        "type": "object",
        "title": "Conference Participant Playback Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantPlaybackEnded"
          }
        }
      },
      "ConferenceParticipantPlaybackStarted": {
        "type": "object",
        "title": "Conference Participant Playback Started",
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.playback.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "media_url": "https://www.example.com/audio.mp3",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.playback.started",
            "enum": [
              "conference.participant.playback.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Participant's call ID used to issue commands via Call Control API."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceParticipantPlaybackStartedEvent": {
        "type": "object",
        "title": "Conference Participant Playback Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantPlaybackStarted"
          }
        }
      },
      "ConferenceParticipantResource": {
        "type": "object",
        "title": "Conference Participant Resource",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipant"
          }
        }
      },
      "ConferenceParticipantSpeakEnded": {
        "type": "object",
        "title": "Conference Participant Speak Ended",
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.speak.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.speak.ended",
            "enum": [
              "conference.participant.speak.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Participant's call ID used to issue commands via Call Control API."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceParticipantSpeakEndedEvent": {
        "type": "object",
        "title": "Conference Participant Speak Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantSpeakEnded"
          }
        }
      },
      "ConferenceParticipantSpeakStarted": {
        "type": "object",
        "title": "Conference Participant Speak Started",
        "example": {
          "record_type": "event",
          "event_type": "conference.participant.speak.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.participant.speak.started",
            "enum": [
              "conference.participant.speak.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Participant's call ID used to issue commands via Call Control API."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceParticipantSpeakStartedEvent": {
        "type": "object",
        "title": "Conference Participant Speak Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceParticipantSpeakStarted"
          }
        }
      },
      "ConferencePlayRequest": {
        "type": "object",
        "title": "Conference Play Request",
        "properties": {
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played back in the conference. media_name and audio_url cannot be used together in one request."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back in the conference. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "loop": {
            "description": "The number of times the audio file should be played. If supplied, the value must be an integer between 1 and 100, or the special string `infinity` for an endless loop.",
            "example": "infinity",
            "default": 1,
            "$ref": "#/components/schemas/Loopcount"
          },
          "call_control_ids": {
            "description": "List of call control ids identifying participants the audio file should be played to. If not given, the audio file will be played to the entire conference.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "audio_url": "http://www.example.com/sounds/greeting.wav"
        }
      },
      "ConferencePlaybackEnded": {
        "type": "object",
        "title": "Conference Playback Ended",
        "example": {
          "record_type": "event",
          "event_type": "conference.playback.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "media_url": "https://www.example.com/audio.mp3",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.playback.ended",
            "enum": [
              "conference.playback.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferencePlaybackEndedEvent": {
        "type": "object",
        "title": "Conference Playback Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferencePlaybackEnded"
          }
        }
      },
      "ConferencePlaybackStarted": {
        "type": "object",
        "title": "Conference Playback Started",
        "example": {
          "record_type": "event",
          "event_type": "conference.playback.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "media_url": "https://www.example.com/audio.mp3",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.playback.started",
            "enum": [
              "conference.playback.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "media_url": {
                "type": "string",
                "example": "http://example.com/audio.wav",
                "description": "The audio URL being played back, if audio_url has been used to start."
              },
              "media_name": {
                "type": "string",
                "example": "my_media_uploaded_to_media_storage_api",
                "description": "The name of the audio media file being played back, if media_name has been used to start."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferencePlaybackStartedEvent": {
        "type": "object",
        "title": "Conference Playback Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferencePlaybackStarted"
          }
        }
      },
      "ConferenceRecordingResource": {
        "type": "object",
        "title": "Conference recording resource",
        "example": {
          "account_sid": "4e71926f-8f13-450e-b91c-23c2ef786aa6",
          "call_sid": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
          "channels": 1,
          "conference_sid": "6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f",
          "date_created": "Fri, 27 Oct 2023 07:41:58 +0000",
          "date_updated": "Fri, 27 Oct 2023 07:41:58 +0000",
          "duration": 5,
          "media_url": "https://www.example.com/download.mp3",
          "sid": "136285da-4b74-46f1-a016-fe2982fa77c3",
          "source": "StartConferenceRecordingAPI",
          "start_time": "Fri, 27 Oct 2023 07:41:58 +0000",
          "status": "completed",
          "subresource_uris": {
            "transcriptions": null
          },
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Recordings/136285da-4b74-46f1-a016-fe2982fa77c3.json"
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "call_sid": {
            "type": "string",
            "description": "The identifier of the related participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "channels": {
            "type": "integer",
            "description": "The number of channels in the recording.",
            "example": 1
          },
          "conference_sid": {
            "type": "string",
            "description": "The identifier of the related conference.",
            "example": "6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f"
          },
          "date_created": {
            "type": "string",
            "description": "The timestamp of when the resource was created.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "date_updated": {
            "type": "string",
            "description": "The timestamp of when the resource was last updated.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "duration": {
            "type": "integer",
            "description": "Duratin of the recording in seconds.",
            "example": 10
          },
          "error_code": {
            "type": "string",
            "description": "The recording error, if any."
          },
          "media_url": {
            "type": "string",
            "description": "The URL to use to download the recording.",
            "example": "https://www.example.com/download.mp3"
          },
          "sid": {
            "type": "string",
            "description": "The unique identifier of the recording.",
            "example": "136285da-4b74-46f1-a016-fe2982fa77c3"
          },
          "source": {
            "type": "string",
            "description": "How the recording was started.",
            "example": "StartConferenceRecordingAPI",
            "enum": [
              "DialVerb",
              "Conference",
              "OutboundAPI",
              "Trunking",
              "RecordVerb",
              "StartCallRecordingAPI",
              "StartConferenceRecordingAPI"
            ]
          },
          "start_time": {
            "type": "string",
            "description": "The timestamp of when the recording was started.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "status": {
            "type": "string",
            "description": "The status of the recording.",
            "enum": [
              "processing",
              "absent",
              "completed",
              "deleted"
            ],
            "example": "completed"
          },
          "subresource_uris": {
            "type": "object",
            "description": "A list of related resources identified by their relative URIs.",
            "example": {
              "transcriptions": null
            },
            "additionalProperties": true
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this recording.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Recordings/136285da-4b74-46f1-a016-fe2982fa77c3.json"
          }
        }
      },
      "ConferenceRecordingResourceIndex": {
        "type": "object",
        "title": "Multiple conference recording resources",
        "example": {
          "participants": [],
          "end": 0,
          "first_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Recordings.json?page=0&pagesize=20",
          "page": 0,
          "page_size": 20,
          "start": 0,
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Recordings.json?page=0&pagesize=20"
        },
        "properties": {
          "recordings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConferenceRecordingResource"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Recordings.json?page=0&pagesize=20",
            "example": "accepted"
          },
          "next_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Recordings.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
            "example": "accepted"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Recordings.json?Page=0&PageSize=1"
          },
          "participants": {
            "type": "array",
            "description": "List of participant resources.",
            "items": {
              "type": "object"
            },
            "example": []
          }
        }
      },
      "ConferenceRecordingSaved": {
        "type": "object",
        "title": "Conference Recording Saved",
        "example": {
          "record_type": "event",
          "event_type": "conference.recording.saved",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "channels": "single",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "format": "mp3",
            "public_recording_urls": {
              "mp3": "http://example.com/recording.mp3",
              "wav": "http://example.com/recording.wav"
            },
            "recording_ended_at": "2018-02-02T22:20:27.521992Z",
            "recording_id": "4577f9a2-cf0e-44f3-ac57-9f95fb03fa47",
            "recording_started_at": "2021-05-11T10:17:03.692107Z",
            "recording_urls": {
              "mp3": "http://example.com/recording.mp3",
              "wav": "http://example.com/recording.wav"
            }
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.recording.saved",
            "enum": [
              "conference.recording.saved"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Participant's call ID used to issue commands via Call Control API."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "channels": {
                "type": "string",
                "example": "single",
                "enum": [
                  "single",
                  "dual"
                ],
                "description": "Whether recording was recorded in `single` or `dual` channel."
              },
              "conference_id": {
                "type": "string",
                "format": "uuid",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference that is being recorded."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "format": {
                "description": "The audio file format used when storing the call recording. Can be either `mp3` or `wav`.",
                "type": "string",
                "enum": [
                  "wav",
                  "mp3"
                ],
                "example": "mp3"
              },
              "public_recording_urls": {
                "type": "object",
                "description": "Recording URLs in requested format. The URL is valid for as long as the file exists. For security purposes, this feature is activated on a per request basis.  Please contact customer support with your Account ID to request activation.",
                "properties": {
                  "mp3": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.mp3",
                    "description": "Recording URL in requested `mp3` format."
                  },
                  "wav": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.wav",
                    "description": "Recording URL in requested `wav` format."
                  }
                }
              },
              "recording_ended_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521992Z",
                "description": "ISO 8601 datetime of when recording ended."
              },
              "recording_id": {
                "type": "string",
                "format": "uuid",
                "example": "4577f9a2-cf0e-44f3-ac57-9f95fb03fa47",
                "description": "ID of the conference recording."
              },
              "recording_started_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:20:27.521992Z",
                "description": "ISO 8601 datetime of when recording started."
              },
              "recording_urls": {
                "type": "object",
                "description": "Recording URLs in requested format. These URLs are valid for 10 minutes. After 10 minutes, you may retrieve recordings via API using Reports -> Call Recordings documentation, or via Mission Control under Reporting -> Recordings.",
                "properties": {
                  "mp3": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.mp3",
                    "description": "Recording URL in requested `mp3` format."
                  },
                  "wav": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "http://example.com/recording.wav",
                    "description": "Recording URL in requested `wav` format."
                  }
                }
              }
            }
          }
        }
      },
      "ConferenceRecordingSavedEvent": {
        "type": "object",
        "title": "Conference Recording Saved Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceRecordingSaved"
          }
        }
      },
      "ConferenceRegion": {
        "description": "Region where the conference data is located. Defaults to the region defined in user's data locality settings (Europe or US).",
        "example": "US",
        "type": "string",
        "enum": [
          "Australia",
          "Europe",
          "Middle East",
          "US"
        ]
      },
      "ConferenceResource": {
        "type": "object",
        "title": "Conference resource",
        "example": {
          "account_sid": "4e71926f-8f13-450e-b91c-23c2ef786aa6",
          "api_version": "v2/texml",
          "date_created": "Fri, 27 Oct 2023 07:41:58 +0000",
          "date_updated": "Fri, 27 Oct 2023 07:41:58 +0000",
          "friendly_name": "weekly_review_call",
          "region": "dc2",
          "sid": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1",
          "status": "in-progress",
          "subresource_uris": {
            "participants": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants.json",
            "recordings": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Recordings.json"
          },
          "uri": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1.json"
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "api_version": {
            "type": "string",
            "description": "The version of the API that was used to make the request.",
            "example": "v2/texml"
          },
          "call_sid_ending_conference": {
            "type": "string",
            "description": "Caller ID, if present.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "date_created": {
            "type": "string",
            "description": "The timestamp of when the resource was created.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "date_updated": {
            "type": "string",
            "description": "The timestamp of when the resource was last updated.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "friendly_name": {
            "type": "string",
            "description": "A string that you assigned to describe this conference room.",
            "example": "weekly_review_call"
          },
          "reason_conference_ended": {
            "type": "string",
            "description": "The reason why a conference ended. When a conference is in progress, will be null.",
            "enum": [
              "participant-with-end-conference-on-exit-left",
              "last-participant-left",
              "conference-ended-via-api",
              "time-exceeded"
            ],
            "example": "time-exceeded"
          },
          "region": {
            "type": "string",
            "description": "A string representing the region where the conference is hosted.",
            "example": "dc2"
          },
          "sid": {
            "type": "string",
            "description": "The unique identifier of the conference.",
            "example": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1"
          },
          "status": {
            "type": "string",
            "description": "The status of this conference.",
            "enum": [
              "init",
              "in-progress",
              "completed"
            ],
            "example": "in-progress"
          },
          "subresource_uris": {
            "type": "object",
            "description": "A list of related resources identified by their relative URIs.",
            "example": {
              "participants": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants.json",
              "recordings": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Recordings.json"
            },
            "additionalProperties": true
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this conference.",
            "example": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1.json"
          }
        }
      },
      "ConferenceResourceIndex": {
        "type": "object",
        "title": "Multiple conference resources",
        "example": {
          "conferences": [],
          "end": 0,
          "first_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=0&PageSize=1",
          "next_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
          "page": 0,
          "page_size": 1,
          "start": 0,
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=0&PageSize=1"
        },
        "properties": {
          "conferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConferenceResource"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=0&PageSize=1",
            "example": "accepted"
          },
          "next_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
            "example": "accepted"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences.json?Page=0&PageSize=1"
          }
        }
      },
      "ConferenceSendDTMFRequest": {
        "type": "object",
        "title": "Conference Send DTMF Request",
        "required": [
          "digits"
        ],
        "properties": {
          "digits": {
            "description": "DTMF digits to send. Valid characters: 0-9, A-D, *, #, w (0.5s pause), W (1s pause).",
            "type": "string",
            "example": "1234#"
          },
          "call_control_ids": {
            "description": "Array of participant call control IDs to send DTMF to. When empty, DTMF will be sent to all participants.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
            ]
          },
          "duration_millis": {
            "description": "Duration of each DTMF digit in milliseconds.",
            "type": "integer",
            "minimum": 100,
            "maximum": 500,
            "default": 250,
            "example": 250
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. Must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        },
        "example": {
          "digits": "1234#",
          "duration_millis": 250
        }
      },
      "ConferenceSid": {
        "type": [
          "string",
          "null"
        ],
        "format": "uuid",
        "example": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1"
      },
      "ConferenceSpeakEnded": {
        "type": "object",
        "title": "Conference Speak Ended",
        "example": {
          "record_type": "event",
          "event_type": "conference.speak.ended",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.speak.ended",
            "enum": [
              "conference.speak.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceSpeakEndedEvent": {
        "type": "object",
        "title": "Conference Speak Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceSpeakEnded"
          }
        }
      },
      "ConferenceSpeakRequest": {
        "type": "object",
        "title": "Conference Speak Request",
        "required": [
          "payload",
          "voice"
        ],
        "properties": {
          "call_control_ids": {
            "description": "Call Control IDs of participants who will hear the spoken text. When empty all participants will hear the spoken text.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payload": {
            "description": "The text or SSML to be converted into speech. There is a 3,000 character limit.",
            "type": "string",
            "example": "Say this to participants"
          },
          "payload_type": {
            "description": "The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).",
            "default": "text",
            "type": "string",
            "enum": [
              "text",
              "ssml"
            ],
            "example": "ssml"
          },
          "voice": {
            "description": "Specifies the voice used in speech synthesis.\n\n- Define voices using the format `<Provider>.<Model>.<VoiceId>`. Specifying only the provider will give default values for voice_id and model_id.\n\n **Supported Providers:**\n- **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.\n- **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`, `Azure.en-US-BrianMultilingualNeural`, `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery). Use `voice_settings` to configure custom deployments, regions, or API keys.\n- **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration identifier secret in `\"voice_settings\": {\"api_key_ref\": \"<secret_identifier>\"}`. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](https://elevenlabs.io/docs/api-reference/get-voices).\n- **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`). Use `voice_settings` to configure voice_speed and other synthesis parameters.\n- **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g., `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`, `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings` to configure speed, volume, pitch, and language_boost.\n- **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`). Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure voice_speed.\n- **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g., `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use `voice_settings` to configure precision, sample_rate, and format.\n- **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.\n- **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`, `ara`, `rex`, `sal`, `leo`.\n\nFor service_level basic, you may define the gender of the speaker (male or female).",
            "type": "string",
            "example": "Telnyx.KokoroTTS.af"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/MinimaxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/InworldVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "minimax": "#/components/schemas/MinimaxVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "inworld": "#/components/schemas/InworldVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "language": {
            "description": "The language you want spoken. This parameter is ignored when a `Polly.*` voice is specified.",
            "type": "string",
            "enum": [
              "arb",
              "cmn-CN",
              "cy-GB",
              "da-DK",
              "de-DE",
              "en-AU",
              "en-GB",
              "en-GB-WLS",
              "en-IN",
              "en-US",
              "es-ES",
              "es-MX",
              "es-US",
              "fr-CA",
              "fr-FR",
              "hi-IN",
              "is-IS",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "nb-NO",
              "nl-NL",
              "pl-PL",
              "pt-BR",
              "pt-PT",
              "ro-RO",
              "ru-RU",
              "sv-SE",
              "tr-TR"
            ],
            "example": "en-US"
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_ids": [
            "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          ],
          "payload": "Say this to participants",
          "payload_type": "text",
          "voice": "female",
          "language": "en-US",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "ConferenceSpeakStarted": {
        "type": "object",
        "title": "Conference Speak Started",
        "example": {
          "record_type": "event",
          "event_type": "conference.speak.started",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "creator_call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "conference_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "occurred_at": "2018-02-02T22:25:27.521Z"
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "conference.speak.started",
            "enum": [
              "conference.speak.started"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "payload": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "creator_call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session that started the conference."
              },
              "conference_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID of the conference the text was spoken in."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521Z",
                "description": "ISO 8601 datetime of when the event occurred."
              }
            }
          }
        }
      },
      "ConferenceSpeakStartedEvent": {
        "type": "object",
        "title": "Conference Speak Started Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConferenceSpeakStarted"
          }
        }
      },
      "ConferenceStopRequest": {
        "type": "object",
        "title": "Conference Stop Request",
        "properties": {
          "call_control_ids": {
            "description": "List of call control ids identifying participants the audio file should stop be played to. If not given, the audio will be stoped to the entire conference.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        }
      },
      "ConferenceUnholdRequest": {
        "required": [
          "call_control_ids"
        ],
        "type": "object",
        "title": "Conference Unhold Request",
        "properties": {
          "call_control_ids": {
            "description": "List of unique identifiers and tokens for controlling the call. Enter each call control ID to be unheld.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_ids": [
            "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          ]
        }
      },
      "ConferenceUnmuteRequest": {
        "type": "object",
        "title": "Conference Unmute Request",
        "properties": {
          "call_control_ids": {
            "description": "List of unique identifiers and tokens for controlling the call. Enter each call control ID to be unmuted. When empty all participants will be unmuted.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_ids": [
            "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          ]
        }
      },
      "Connection": {
        "type": "object",
        "title": "Connection",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the specific resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "ip_connection"
          },
          "active": {
            "type": "boolean",
            "description": "Defaults to true",
            "example": true
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string",
            "example": "string"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "webhook_event_url": {
            "description": "The URL where webhooks related to this connection will be sent.",
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "default": null,
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails.",
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "default": "",
            "example": "https://failover.example.com"
          },
          "webhook_api_version": {
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "default": "1",
            "example": "1"
          },
          "outbound_voice_profile_id": {
            "$ref": "#/components/schemas/connections_OutboundVoiceProfileId"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "ip_connection",
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "outbound_voice_profile_id": "1293384261075731499"
        }
      },
      "ConnectionActive": {
        "title": "Connection Active",
        "type": "boolean",
        "description": "Specifies whether the connection can be used.",
        "default": true,
        "example": false
      },
      "ConnectionAndroidPushCredentialId": {
        "title": "Android Push Credential Id",
        "type": [
          "string",
          "null"
        ],
        "description": "The uuid of the push credential for Android",
        "example": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
        "default": null
      },
      "ConnectionId": {
        "description": "The ID of the connection used to send the fax.",
        "type": "string",
        "example": "234423"
      },
      "ConnectionIdCredentials": {
        "type": "string",
        "description": "Uniquely identifies a Telnyx application (Call Control, TeXML) or Sip connection resource.",
        "example": "1234567890"
      },
      "ConnectionIosPushCredentialId": {
        "title": "Ios Push Credential Id",
        "type": [
          "string",
          "null"
        ],
        "description": "The uuid of the push credential for Ios",
        "example": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
        "default": null
      },
      "ConnectionJitterBuffer": {
        "type": "object",
        "description": "Configuration options for Jitter Buffer. Enables Jitter Buffer for RTP streams of SIP Trunking calls. The feature is off unless enabled. You may define min and max values in msec for customized buffering behaviors. Larger values add latency but tolerate more jitter, while smaller values reduce latency but are more sensitive to jitter and reordering.",
        "properties": {
          "enable_jitter_buffer": {
            "type": "boolean",
            "description": "Enables Jitter Buffer for RTP streams of SIP Trunking calls. The feature is off unless enabled.",
            "default": false,
            "example": true
          },
          "jitterbuffer_msec_min": {
            "type": "integer",
            "description": "The minimum jitter buffer size in milliseconds. Must be between 40 and 400. Has no effect if enable_jitter_buffer is not true.",
            "minimum": 40,
            "maximum": 400,
            "default": 60,
            "example": 60
          },
          "jitterbuffer_msec_max": {
            "type": "integer",
            "description": "The maximum jitter buffer size in milliseconds. Must be between 40 and 400. Has no effect if enable_jitter_buffer is not true.",
            "minimum": 40,
            "maximum": 400,
            "default": 200,
            "example": 200
          }
        }
      },
      "ConnectionName": {
        "title": "Connection Name",
        "type": "string",
        "description": "A user-assigned name to help manage the connection.",
        "example": "office-connection"
      },
      "ConnectionNoiseSuppression": {
        "type": "string",
        "description": "Controls when noise suppression is applied to calls. When set to 'inbound', noise suppression is applied to incoming audio. When set to 'outbound', it's applied to outgoing audio. When set to 'both', it's applied in both directions. When set to 'disabled', noise suppression is turned off.",
        "enum": [
          "inbound",
          "outbound",
          "both",
          "disabled"
        ],
        "example": "both"
      },
      "ConnectionNoiseSuppressionDetails": {
        "type": "object",
        "description": "Configuration options for noise suppression. These settings are stored regardless of the noise_suppression value, but only take effect when noise_suppression is not 'disabled'. If you disable noise suppression and later re-enable it, the previously configured settings will be used.",
        "properties": {
          "engine": {
            "type": "string",
            "description": "The noise suppression engine to use. 'denoiser' is the default engine. 'deep_filter_net' and 'deep_filter_net_large' are alternative engines with different performance characteristics. Krisp engines ('krisp_viva_tel', 'krisp_viva_tel_lite', 'krisp_viva_promodel', 'krisp_viva_ss') provide advanced noise suppression capabilities. 'quail_voice_focus' provides Quail-based voice focus noise suppression.",
            "enum": [
              "denoiser",
              "deep_filter_net",
              "deep_filter_net_large",
              "krisp_viva_tel",
              "krisp_viva_tel_lite",
              "krisp_viva_promodel",
              "krisp_viva_ss",
              "quail_voice_focus"
            ],
            "default": "denoiser",
            "example": "deep_filter_net"
          },
          "attenuation_limit": {
            "type": "integer",
            "description": "The attenuation limit value for the selected engine. Default values vary by engine: 0 for 'denoiser', 80 for 'deep_filter_net', 'deep_filter_net_large', and all Krisp engines ('krisp_viva_tel', 'krisp_viva_tel_lite', 'krisp_viva_promodel', 'krisp_viva_ss'), 100 for 'quail_voice_focus'.",
            "minimum": 0,
            "maximum": 100,
            "multipleOf": 10,
            "example": 80
          }
        }
      },
      "ConnectionRtcpSettings": {
        "type": "object",
        "title": "Connection RTCP Settings",
        "properties": {
          "port": {
            "enum": [
              "rtcp-mux",
              "rtp+1"
            ],
            "default": "rtp+1",
            "description": "RTCP port by default is rtp+1, it can also be set to rtcp-mux",
            "type": "string"
          },
          "capture_enabled": {
            "type": "boolean",
            "default": false,
            "description": "BETA - Enable the capture and storage of RTCP messages to create QoS reports on the Telnyx Mission Control Portal.",
            "example": true
          },
          "report_frequency_secs": {
            "type": "integer",
            "default": 5,
            "description": "RTCP reports are sent to customers based on the frequency set. Frequency is in seconds and it can be set to values from 5 to 3000 seconds.",
            "example": 10
          }
        },
        "example": {
          "port": "rtcp-mux",
          "capture_enabled": true,
          "report_frequency_secs": 10
        }
      },
      "ConsentTokenResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "client_id": {
                "type": "string",
                "description": "Client ID"
              },
              "name": {
                "type": "string",
                "description": "Client name"
              },
              "requested_scopes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Scope ID"
                    },
                    "name": {
                      "type": "string",
                      "description": "Scope name"
                    },
                    "description": {
                      "type": "string",
                      "description": "Scope description"
                    }
                  }
                }
              },
              "logo_uri": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri",
                "description": "URL of the client logo"
              },
              "tos_uri": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri",
                "description": "URL of the client's terms of service"
              },
              "policy_uri": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri",
                "description": "URL of the client's privacy policy"
              },
              "redirect_uri": {
                "type": "string",
                "format": "uri",
                "description": "The redirect URI for this authorization"
              },
              "verified": {
                "type": "boolean",
                "description": "Whether the client is verified"
              }
            }
          }
        }
      },
      "ConsumedData": {
        "type": "object",
        "title": "ConsumedData",
        "description": "Represents the amount of data consumed.",
        "properties": {
          "unit": {
            "type": "string",
            "example": "MB",
            "default": "MB"
          },
          "amount": {
            "type": "string",
            "example": "2048.1"
          }
        }
      },
      "Conversation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "name": {
            "type": "string",
            "example": ""
          },
          "created_at": {
            "type": "string",
            "description": "The datetime the conversation was created.",
            "format": "date-time",
            "example": "2025-04-15T13:07:28.764Z"
          },
          "metadata": {
            "type": "object",
            "description": "Metadata associated with the conversation. Telnyx provides several pieces of metadata, but customers can also add their own. The reserved field `ai_disabled` (boolean) can be set to `true` to prevent AI-generated responses on this conversation. When `ai_disabled` is `true`, calls to the chat endpoint will return a 400 error. Set to `false` or remove the field to re-enable AI responses. This is useful when a human agent needs to take over the conversation mid-stream (e.g., a technician stepping in while AI was messaging a resident).",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "telnyx_conversation_channel": "sms",
              "telnyx_agent_target": "+13128675309",
              "telnyx_end_user_target": "+13128675309",
              "assistant_id": "assistant-123"
            }
          },
          "last_message_at": {
            "type": "string",
            "description": "The datetime of the latest message in the conversation.",
            "format": "date-time",
            "example": "2025-04-15T13:07:28.764Z"
          }
        },
        "required": [
          "id",
          "created_at",
          "metadata",
          "last_message_at"
        ]
      },
      "ConversationChannelType": {
        "type": "string",
        "enum": [
          "phone_call",
          "sms_chat"
        ],
        "title": "ConversationChannelType"
      },
      "ConversationInsight": {
        "type": "object",
        "required": [
          "id",
          "status",
          "created_at",
          "conversation_insights"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the conversation insight."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed"
            ],
            "description": "Current status of the insight generation for the conversation."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of when the object was created."
          },
          "conversation_insights": {
            "type": "array",
            "description": "List of insights extracted from the conversation.",
            "items": {
              "type": "object",
              "required": [
                "result",
                "insight_id"
              ],
              "properties": {
                "result": {
                  "type": "string",
                  "description": "Insight result from the conversation. If the insight has a JSON schema, this will be stringified JSON object."
                },
                "insight_id": {
                  "type": "string",
                  "description": "Unique identifier for the insight configuration."
                }
              }
            }
          }
        }
      },
      "ConversationInsightListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConversationInsight"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "ConversationInsightListData"
      },
      "ConversationMessage": {
        "type": "object",
        "required": [
          "role",
          "text"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "user",
              "assistant",
              "tool"
            ],
            "description": "The role of the message sender."
          },
          "text": {
            "type": "string",
            "description": "The message content. Can be null for tool calls."
          },
          "tool_calls": {
            "type": "array",
            "description": "Optional tool calls made by the assistant.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier for the tool call."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "function"
                  ],
                  "description": "Type of the tool call."
                },
                "function": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Name of the function to call."
                    },
                    "arguments": {
                      "type": "string",
                      "description": "JSON-formatted arguments to pass to the function."
                    }
                  },
                  "required": [
                    "name",
                    "arguments"
                  ]
                }
              },
              "required": [
                "id",
                "type",
                "function"
              ]
            }
          },
          "created_at": {
            "type": "string",
            "description": "The datetime the message was created on the conversation. This does not necesarily correspond to the time the message was sent. The best field to use to determine the time the end user experienced the message is `sent_at`.",
            "format": "date-time",
            "example": "2025-04-15T13:07:28.764Z"
          },
          "sent_at": {
            "type": "string",
            "description": "The datetime the message was sent to the end user.",
            "format": "date-time",
            "example": "2025-04-15T13:07:28.764Z"
          }
        }
      },
      "ConversationMessageListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConversationMessage"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "ConversationMessageListData"
      },
      "ConversationRelayAssistant": {
        "type": "object",
        "title": "Conversation Relay Custom Parameters",
        "description": "Custom parameters for the Conversation Relay session. Pass key-value data as `assistant.dynamic_variables` to make it available to the relay session.",
        "properties": {
          "dynamic_variables": {
            "type": "object",
            "description": "Custom key-value parameters forwarded to the Conversation Relay session.",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "customer_id": "12345",
              "tier": "premium"
            }
          }
        },
        "additionalProperties": true
      },
      "ConversationRelayInterruptible": {
        "type": "string",
        "description": "Controls when caller input can interrupt assistant speech. `any` allows speech or DTMF interruptions; `none` disables interruptions; `speech` allows speech only; `dtmf` allows DTMF only.",
        "enum": [
          "none",
          "any",
          "speech",
          "dtmf"
        ],
        "default": "any",
        "example": "speech"
      },
      "ConversationRelayInterruptionSettings": {
        "type": "object",
        "title": "Conversation Relay Interruption Settings",
        "description": "Settings for handling caller interruptions during Conversation Relay speech.",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is equivalent to `interruptible=none`."
          },
          "interruptible": {
            "$ref": "#/components/schemas/ConversationRelayInterruptible"
          },
          "interruptible_greeting": {
            "$ref": "#/components/schemas/ConversationRelayInterruptible"
          },
          "welcome_greeting_interruptible": {
            "$ref": "#/components/schemas/ConversationRelayInterruptible"
          }
        }
      },
      "ConversationRelayLanguage": {
        "type": "object",
        "title": "Conversation Relay Language",
        "description": "Language-specific speech and transcription settings for Conversation Relay.",
        "properties": {
          "code": {
            "type": "string",
            "description": "BCP 47 language code.",
            "example": "en-US"
          },
          "tts_provider": {
            "type": "string",
            "description": "Text-to-speech provider for this language.",
            "example": "ElevenLabs"
          },
          "voice": {
            "type": "string",
            "description": "Voice identifier for this language.",
            "example": "alice"
          },
          "transcription_provider": {
            "type": "string",
            "description": "Speech-to-text provider for this language.",
            "example": "Deepgram"
          },
          "speech_model": {
            "type": "string",
            "description": "Speech recognition model for this language.",
            "example": "nova-2"
          }
        }
      },
      "ConversationRelaySettings": {
        "type": "object",
        "title": "Conversation Relay Settings",
        "description": "Conversation Relay connection settings. This object is used by TeXML Call Scripting's `<ConversationRelay>` verb. The `interruptible` and `interruptible_greeting` fields are shorthand for `interruption_settings.interruptible` and `interruption_settings.interruptible_greeting`; use top-level `interruption_settings` for the full interruption settings shape.",
        "properties": {
          "url": {
            "type": "string",
            "pattern": "^wss?://",
            "description": "WebSocket URL for your Conversation Relay server. Must start with `ws://` or `wss://`.",
            "example": "wss://example.com/conversation-relay"
          },
          "dtmf_detection": {
            "type": "boolean",
            "description": "Whether to enable DTMF detection during the relay session.",
            "default": false,
            "example": true
          },
          "interruptible": {
            "$ref": "#/components/schemas/ConversationRelayInterruptible"
          },
          "interruptible_greeting": {
            "$ref": "#/components/schemas/ConversationRelayInterruptible"
          },
          "languages": {
            "type": "array",
            "description": "Language-specific TTS and transcription settings.",
            "items": {
              "$ref": "#/components/schemas/ConversationRelayLanguage"
            }
          }
        },
        "required": [
          "url"
        ]
      },
      "ConversationRelayStartRequest": {
        "type": "object",
        "title": "Conversation Relay Start Request",
        "description": "Start a Conversation Relay session. Provide either `conversation_relay_url` or `conversation_relay_settings.url`; when both nested and top-level equivalents are provided, top-level values take precedence as described on `conversation_relay_settings`.",
        "properties": {
          "conversation_relay_settings": {
            "$ref": "#/components/schemas/ConversationRelaySettings"
          },
          "conversation_relay_url": {
            "type": "string",
            "pattern": "^wss?://",
            "description": "WebSocket URL for your Conversation Relay server. Must start with `ws://` or `wss://`.",
            "example": "wss://example.com/conversation-relay"
          },
          "conversation_relay_dtmf_detection": {
            "type": "boolean",
            "description": "Enable DTMF detection for the relay session.",
            "default": false,
            "example": true
          },
          "voice": {
            "$ref": "#/components/schemas/VoiceConfig"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "greeting": {
            "type": "string",
            "description": "Text played when the relay session starts.",
            "example": "Hi! Ask me anything!"
          },
          "language": {
            "type": "string",
            "description": "Default language for the relay session. This value is used for both text-to-speech and speech recognition unless `tts_language` or `transcription_language` are provided.",
            "default": "en",
            "example": "en-US"
          },
          "tts_language": {
            "type": "string",
            "description": "Language to use for text-to-speech. Overrides `language` for TTS when provided.",
            "example": "es"
          },
          "transcription_language": {
            "type": "string",
            "description": "Language to use for speech recognition. Overrides `language` for transcription when provided.",
            "example": "en-US"
          },
          "languages": {
            "type": "array",
            "description": "Language-specific TTS and transcription settings. Use this when the relay session needs per-language provider, voice, or speech model configuration.",
            "items": {
              "$ref": "#/components/schemas/ConversationRelayLanguage"
            }
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/ConversationRelayInterruptionSettings"
          },
          "transcription": {
            "$ref": "#/components/schemas/ConversationRelayTranscriptionSettings"
          },
          "assistant": {
            "$ref": "#/components/schemas/ConversationRelayAssistant"
          },
          "client_state": {
            "type": "string",
            "description": "Use this field to add state to subsequent webhooks. It must be a valid Base-64 encoded string.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "conversation_relay_settings": {
            "url": "wss://example.com/conversation-relay",
            "dtmf_detection": true,
            "interruptible": "speech",
            "interruptible_greeting": "any",
            "languages": [
              {
                "code": "en-US",
                "tts_provider": "ElevenLabs",
                "voice": "alice",
                "transcription_provider": "Deepgram",
                "speech_model": "nova-2"
              }
            ]
          },
          "greeting": "Hi! Ask me anything!",
          "voice": "Telnyx.KokoroTTS.af",
          "language": "en-US",
          "transcription": {
            "provider": "deepgram"
          },
          "assistant": {
            "dynamic_variables": {
              "customer_id": "12345"
            }
          }
        },
        "anyOf": [
          {
            "required": [
              "conversation_relay_url"
            ]
          },
          {
            "required": [
              "conversation_relay_settings"
            ]
          }
        ]
      },
      "ConversationRelayStopRequest": {
        "type": "object",
        "title": "Conversation Relay Stop Request",
        "properties": {
          "client_state": {
            "type": "string",
            "description": "Use this field to add state to subsequent webhooks. It must be a valid Base-64 encoded string.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        }
      },
      "ConversationRelayTranscriptionSettings": {
        "type": "object",
        "title": "Conversation Relay Transcription Settings",
        "description": "Speech-to-text settings for Conversation Relay.",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Transcription provider to use.",
            "example": "deepgram"
          },
          "model": {
            "type": "string",
            "description": "Transcription model to use.",
            "example": "nova-2"
          },
          "language": {
            "type": "string",
            "description": "Transcription language.",
            "example": "en-US"
          }
        }
      },
      "ConversationsListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Conversation"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ConversationsListData"
      },
      "CostInfo": {
        "type": "object",
        "required": [
          "event_cost",
          "cumulative_cost",
          "currency"
        ],
        "properties": {
          "event_cost": {
            "type": "string",
            "description": "Cost of this individual event."
          },
          "cumulative_cost": {
            "type": "string",
            "description": "Cumulative cost including all descendants."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code."
          }
        }
      },
      "CostInformation": {
        "type": "object",
        "properties": {
          "upfront_cost": {
            "type": "string",
            "example": "3.21"
          },
          "monthly_cost": {
            "type": "string",
            "example": "6.54"
          },
          "currency": {
            "type": "string",
            "description": "The ISO 4217 code for the currency.",
            "example": "USD"
          }
        },
        "example": {
          "upfront_cost": "3.21",
          "monthly_cost": "6.54",
          "currency": "USD"
        }
      },
      "CostSummary": {
        "type": "object",
        "required": [
          "total",
          "currency"
        ],
        "properties": {
          "total": {
            "type": "string",
            "description": "Total session cost as a decimal string."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code."
          }
        }
      },
      "Country": {
        "type": "object",
        "title": "Country",
        "properties": {
          "code": {
            "type": "string",
            "description": "ISO 3166-1 Alpha-2 Country Code.",
            "example": "US"
          },
          "name": {
            "type": "string",
            "description": "The name of the country.",
            "example": "United States of America"
          }
        },
        "required": [
          "code",
          "name"
        ]
      },
      "CountryCode": {
        "type": "string",
        "description": "ISO 3166-1 Alpha-2 Country Code.",
        "example": "US"
      },
      "CountryCoverage": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Country ISO code"
          },
          "numbers": {
            "type": "boolean"
          },
          "features": {
            "type": "array",
            "description": "Set of features supported",
            "items": {
              "type": "string"
            }
          },
          "phone_number_type": {
            "type": "array",
            "description": "Phone number type",
            "items": {
              "type": "string"
            }
          },
          "reservable": {
            "type": "boolean",
            "description": "Supports reservable"
          },
          "quickship": {
            "type": "boolean",
            "description": "Supports quickship"
          },
          "international_sms": {
            "type": "boolean"
          },
          "p2p": {
            "type": "boolean"
          },
          "local": {
            "type": "object",
            "properties": {
              "features": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "reservable": {
                "type": "boolean"
              },
              "quickship": {
                "type": "boolean"
              },
              "international_sms": {
                "type": "boolean"
              },
              "p2p": {
                "type": "boolean"
              },
              "full_pstn_replacement": {
                "type": "boolean"
              }
            }
          },
          "toll_free": {
            "type": "object",
            "properties": {
              "features": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "reservable": {
                "type": "boolean"
              },
              "quickship": {
                "type": "boolean"
              },
              "international_sms": {
                "type": "boolean"
              },
              "p2p": {
                "type": "boolean"
              },
              "full_pstn_replacement": {
                "type": "boolean"
              }
            }
          },
          "mobile": {
            "type": "object",
            "additionalProperties": true
          },
          "national": {
            "type": "object",
            "additionalProperties": true
          },
          "inventory_coverage": {
            "type": "boolean",
            "description": "Indicates whether country can be queried with inventory coverage endpoint"
          },
          "shared_cost": {
            "type": "object",
            "additionalProperties": true
          },
          "region": {
            "type": [
              "string",
              "null"
            ],
            "description": "Geographic region (e.g., AMER, EMEA, APAC)"
          }
        },
        "example": {
          "code": "US",
          "numbers": true,
          "features": [
            "hd_voice",
            "emergency",
            "voice",
            "mms",
            "fax",
            "sms",
            "international_sms"
          ],
          "phone_number_type": [
            "local",
            "local",
            "local",
            "toll_free"
          ],
          "reservable": true,
          "quickship": true,
          "international_sms": true,
          "p2p": true,
          "local": {
            "features": [
              "hd_voice",
              "voice",
              "international_sms",
              "mms",
              "fax",
              "sms",
              "emergency"
            ],
            "reservable": true,
            "quickship": false,
            "international_sms": true,
            "p2p": true,
            "full_pstn_replacement": true
          },
          "toll_free": {
            "features": [
              "voice",
              "mms",
              "fax",
              "sms",
              "emergency"
            ],
            "reservable": true,
            "quickship": true,
            "international_sms": false,
            "p2p": false,
            "full_pstn_replacement": false
          },
          "mobile": {},
          "national": {},
          "inventory_coverage": true,
          "shared_cost": {},
          "region": "AMER"
        }
      },
      "CreateAlphanumericSenderIdRequest": {
        "type": "object",
        "required": [
          "alphanumeric_sender_id",
          "messaging_profile_id"
        ],
        "properties": {
          "alphanumeric_sender_id": {
            "type": "string",
            "description": "The alphanumeric sender ID string.",
            "example": "MyCompany"
          },
          "messaging_profile_id": {
            "type": "string",
            "format": "uuid",
            "description": "The messaging profile to associate the sender ID with."
          },
          "us_long_code_fallback": {
            "type": "string",
            "description": "A US long code number to use as fallback when sending to US destinations.",
            "example": "+15551234567"
          }
        }
      },
      "CreateAndroidPushCredentialRequest": {
        "type": "object",
        "title": "Create Android Push Credential Request",
        "required": [
          "type",
          "project_account_json_file",
          "alias"
        ],
        "properties": {
          "type": {
            "description": "Type of mobile push credential. Should be <code>android</code> here",
            "type": "string",
            "enum": [
              "android"
            ]
          },
          "project_account_json_file": {
            "description": "Private key file in JSON format",
            "type": "object",
            "example": {
              "private_key": "BBBB0J56jd8kda:APA91vjb11BCjvxx3Jxja...",
              "client_email": "account@customer.org"
            },
            "additionalProperties": true
          },
          "alias": {
            "description": "Alias to uniquely identify the credential",
            "type": "string",
            "example": "LucyAndroidCredential"
          }
        }
      },
      "CreateAssistantRequest": {
        "properties": {
          "name": {
            "type": "string"
          },
          "model": {
            "type": "string",
            "description": "ID of the model to use when `external_llm` is not set. You can use the [Get models API](https://developers.telnyx.com/api-reference/openai-chat/get-available-models-openai-compatible) to see available models. If `external_llm` is provided, the assistant uses `external_llm` instead of this field. If neither `model` nor `external_llm` is provided, Telnyx applies the default model."
          },
          "instructions": {
            "type": "string",
            "description": "System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)"
          },
          "tools": {
            "$ref": "#/components/schemas/AssistantTools",
            "description": "Deprecated for new integrations. Inline tool definitions available to the assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools endpoints."
          },
          "mcp_servers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantMCPServer"
            },
            "default": [],
            "description": "MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`, then reference them by `id` here."
          },
          "tool_ids": {
            "title": "Ids of shared tools",
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of shared tools to attach to the assistant. New integrations should prefer `tool_ids` over inline `tools`."
          },
          "description": {
            "type": "string"
          },
          "greeting": {
            "type": "string",
            "description": "Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "This is only needed when using third-party inference providers selected by `model`. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. For bring-your-own endpoint authentication, use `external_llm.llm_api_key_ref` instead. Warning: Free plans are unlikely to work with this integration."
          },
          "external_llm": {
            "$ref": "#/components/schemas/ExternalLLMReq"
          },
          "fallback_config": {
            "$ref": "#/components/schemas/FallbackConfigReq"
          },
          "voice_settings": {
            "$ref": "#/components/schemas/VoiceSettings"
          },
          "transcription": {
            "$ref": "#/components/schemas/TranscriptionSettings"
          },
          "telephony_settings": {
            "$ref": "#/components/schemas/TelephonySettings"
          },
          "messaging_settings": {
            "$ref": "#/components/schemas/MessagingSettings"
          },
          "enabled_features": {
            "items": {
              "$ref": "#/components/schemas/EnabledFeatures"
            },
            "type": "array"
          },
          "insight_settings": {
            "$ref": "#/components/schemas/InsightSettings"
          },
          "privacy_settings": {
            "$ref": "#/components/schemas/PrivacySettings"
          },
          "dynamic_variables_webhook_url": {
            "type": "string",
            "description": "If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this URL at the start of the conversation to resolve dynamic variables. **Gotcha:** the webhook response must wrap variables under a top-level `dynamic_variables` object, e.g. `{\"dynamic_variables\": {\"customer_name\": \"Jane\"}}`. Returning a flat object will be ignored and variables will fall back to their defaults. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for the full request/response format and timeout behavior."
          },
          "dynamic_variables_webhook_timeout_ms": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 1500,
            "description": "Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and 10000 ms. If the webhook does not respond within this timeout, the call proceeds with default values. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)."
          },
          "dynamic_variables": {
            "type": "object",
            "description": "Map of dynamic variables and their default values",
            "additionalProperties": true
          },
          "widget_settings": {
            "$ref": "#/components/schemas/WidgetSettings"
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/inference-embedding_InterruptionSettings"
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantIntegration"
            },
            "default": [],
            "description": "Connected integrations attached to the assistant. The catalog of available integrations is at `/ai/integrations`; the user's connected integrations are at `/ai/integrations/connections`. Each item references a catalog integration by `integration_id`."
          },
          "observability_settings": {
            "$ref": "#/components/schemas/ObservabilityReq"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Tags associated with the assistant. Tags can also be managed with the assistant tag endpoints."
          },
          "post_conversation_settings": {
            "$ref": "#/components/schemas/PostConversationSettingsReq"
          }
        },
        "type": "object",
        "required": [
          "name",
          "instructions"
        ],
        "title": "CreateAssistantRequest"
      },
      "CreateAssistantTestRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "A descriptive name for the assistant test. This will be used to identify the test in the UI and reports.",
            "example": "Customer Support Bot Test"
          },
          "description": {
            "type": "string",
            "maxLength": 1000,
            "title": "Description",
            "description": "Optional detailed description of what this test evaluates and its purpose. Helps team members understand the test's objectives."
          },
          "telnyx_conversation_channel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TelnyxConversationChannel"
              }
            ],
            "description": "The communication channel through which the test will be conducted. Determines how the assistant will receive and respond to test messages.",
            "default": "web_chat",
            "example": "web_chat"
          },
          "destination": {
            "type": "string",
            "minLength": 1,
            "title": "Destination",
            "description": "The target destination for the test conversation. Format depends on the channel: phone number for SMS/voice, webhook URL for web chat, etc.",
            "example": "+15551234567"
          },
          "max_duration_seconds": {
            "type": "integer",
            "maximum": 3600,
            "minimum": 1,
            "title": "Max Duration Seconds",
            "description": "Maximum duration in seconds that the test conversation should run before timing out. If not specified, uses system default timeout."
          },
          "test_suite": {
            "type": "string",
            "maxLength": 100,
            "title": "Test Suite",
            "description": "Optional test suite name to group related tests together. Useful for organizing tests by feature, team, or release cycle."
          },
          "instructions": {
            "type": "string",
            "maxLength": 5000,
            "minLength": 1,
            "title": "Instructions",
            "description": "Detailed instructions that define the test scenario and what the assistant should accomplish. This guides the test execution and evaluation.",
            "example": "Act as a frustrated customer who received a damaged product. Ask for a refund and escalate if not satisfied with the initial response."
          },
          "rubric": {
            "items": {
              "type": "object",
              "required": [
                "name",
                "criteria"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Label for the evaluation criterion, e.g., Empathy, Accuracy, Clarity."
                },
                "criteria": {
                  "type": "string",
                  "description": "Specific guidance on how to assess the assistant’s performance for this rubric item."
                }
              },
              "additionalProperties": false
            },
            "type": "array",
            "minItems": 1,
            "title": "Rubric",
            "description": "Evaluation criteria used to assess the assistant's performance. Each rubric item contains a name and specific criteria for evaluation.",
            "example": [
              {
                "criteria": "Assistant responds within 30 seconds",
                "name": "Response Time"
              },
              {
                "criteria": "Provides correct product information",
                "name": "Accuracy"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "name",
          "destination",
          "instructions",
          "rubric"
        ],
        "title": "CreateAssistantTestRequest",
        "description": "Request model for creating a new assistant test.\n\nThis model defines all the required and optional parameters needed to create\na comprehensive test for an AI assistant, including test configuration,\nevaluation criteria, and scheduling options."
      },
      "CreateBrand": {
        "title": "CreateBrand",
        "required": [
          "entityType",
          "displayName",
          "country",
          "email",
          "vertical"
        ],
        "type": "object",
        "properties": {
          "entityType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EntityType"
              }
            ],
            "description": "Entity type behind the brand. This is the form of business establishment."
          },
          "displayName": {
            "title": "Displayname",
            "maxLength": 100,
            "type": "string",
            "description": "Display name, marketing name, or DBA name of the brand.",
            "example": "ABC Mobile"
          },
          "companyName": {
            "title": "Companyname",
            "maxLength": 100,
            "type": "string",
            "description": "(Required for Non-profit/private/public) Legal company name.",
            "example": "ABC Inc."
          },
          "firstName": {
            "title": "Firstname",
            "maxLength": 100,
            "type": "string",
            "description": "First name of business contact.",
            "example": "John"
          },
          "lastName": {
            "title": "Lastname",
            "maxLength": 100,
            "type": "string",
            "description": "Last name of business contact.",
            "example": "Smith"
          },
          "ein": {
            "title": "Ein",
            "maxLength": 20,
            "type": "string",
            "description": "(Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S.",
            "example": "111111111"
          },
          "phone": {
            "title": "Phone",
            "maxLength": 20,
            "type": "string",
            "description": "Valid phone number in e.164 international format.",
            "example": "+12024567890"
          },
          "street": {
            "title": "Street",
            "maxLength": 100,
            "type": "string",
            "description": "Street number and name.",
            "example": "123"
          },
          "city": {
            "title": "City",
            "maxLength": 100,
            "type": "string",
            "description": "City name",
            "example": "New York"
          },
          "state": {
            "title": "State",
            "maxLength": 20,
            "type": "string",
            "description": "State. Must be 2 letters code for United States.",
            "example": "NY"
          },
          "postalCode": {
            "title": "Postalcode",
            "maxLength": 10,
            "type": "string",
            "description": "Postal codes. Use 5 digit zipcode for United States",
            "example": "10001"
          },
          "country": {
            "title": "Country",
            "maxLength": 2,
            "type": "string",
            "description": "ISO2 2 characters country code. Example: US - United States",
            "example": "US"
          },
          "email": {
            "title": "Email",
            "maxLength": 100,
            "type": "string",
            "description": "Valid email address of brand support contact."
          },
          "stockSymbol": {
            "title": "Stocksymbol",
            "maxLength": 10,
            "type": "string",
            "description": "(Required for public company) stock symbol.",
            "example": "ABC"
          },
          "stockExchange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StockExchange"
              }
            ],
            "description": "(Required for public company) stock exchange.",
            "example": "NASDAQ"
          },
          "ipAddress": {
            "title": "Ipaddress",
            "maxLength": 50,
            "type": "string",
            "description": "IP address of the browser requesting to create brand identity."
          },
          "website": {
            "title": "Website",
            "maxLength": 100,
            "type": "string",
            "description": "Brand website URL.",
            "example": "http://www.abcmobile.com"
          },
          "vertical": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Vertical"
              }
            ],
            "description": "Vertical or industry segment of the brand."
          },
          "isReseller": {
            "title": "Isreseller",
            "type": "boolean",
            "default": false
          },
          "mock": {
            "title": "Mock",
            "type": "boolean",
            "description": "Mock brand for testing purposes. Defaults to false.",
            "default": false
          },
          "mobilePhone": {
            "title": "Mobilephone",
            "maxLength": 20,
            "type": "string",
            "description": "Valid mobile phone number in e.164 international format.",
            "example": "+12024567890"
          },
          "businessContactEmail": {
            "title": "BusinessContactEmail",
            "type": "string",
            "description": "Business contact email.\n\nRequired if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to either omit this field or set it to `null`.",
            "example": "name@example.com"
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook URL for brand status updates.",
            "example": "https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Webhook failover URL for brand status updates.",
            "example": "https://webhook.com/9010a453-4df8-4be6-a551-1070892888d6"
          }
        }
      },
      "CreateCallControlApplicationRequest": {
        "type": "object",
        "title": "Create Call Control Application Request",
        "required": [
          "application_name",
          "webhook_event_url"
        ],
        "properties": {
          "application_name": {
            "type": "string",
            "description": "A user-assigned name to help manage the application.",
            "example": "call-router"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "url",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "active": {
            "type": "boolean",
            "description": "Specifies whether the connection can be used.",
            "default": true
          },
          "anchorsite_override": {
            "type": "string",
            "description": "<code>Latency</code> directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.\n",
            "enum": [
              "Latency",
              "Chicago, IL",
              "Ashburn, VA",
              "San Jose, CA",
              "London, UK",
              "Chennai, IN",
              "Amsterdam, Netherlands",
              "Toronto, Canada",
              "Sydney, Australia"
            ],
            "example": "Amsterdam, Netherlands",
            "default": "Latency"
          },
          "dtmf_type": {
            "type": "string",
            "description": "Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.",
            "enum": [
              "RFC 2833",
              "Inband",
              "SIP INFO"
            ],
            "example": "Inband",
            "default": "RFC 2833"
          },
          "first_command_timeout": {
            "type": "boolean",
            "description": "Specifies whether calls to phone numbers associated with this connection should hangup after timing out.",
            "example": true,
            "default": false
          },
          "first_command_timeout_secs": {
            "type": "integer",
            "description": "Specifies how many seconds to wait before timing out a dial command.",
            "example": 10,
            "default": 30
          },
          "inbound": {
            "$ref": "#/components/schemas/CallControlApplicationInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CallControlApplicationOutbound"
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this Call Control Application.",
            "default": false
          },
          "redact_dtmf_debug_logging": {
            "type": "boolean",
            "description": "When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions.",
            "example": true,
            "default": false
          }
        },
        "example": {
          "application_name": "call-router",
          "webhook_event_url": "https://example.com",
          "active": false,
          "anchorsite_override": "Latency",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "webhook_api_version": "1",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": true,
          "redact_dtmf_debug_logging": true
        }
      },
      "CreateConferenceRequest": {
        "required": [
          "call_control_id",
          "name"
        ],
        "type": "object",
        "title": "Create Conference Request",
        "properties": {
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call",
            "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ==",
            "type": "string"
          },
          "name": {
            "description": "Name of the conference",
            "example": "Business",
            "type": "string"
          },
          "beep_enabled": {
            "description": "Whether a beep sound should be played when participants join and/or leave the conference.",
            "enum": [
              "always",
              "never",
              "on_enter",
              "on_exit"
            ],
            "default": "never",
            "example": "on_exit",
            "type": "string"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string. The client_state will be updated for the creator call leg and will be used for all webhooks related to the created conference.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "type": "string"
          },
          "comfort_noise": {
            "description": "Toggle background comfort noise.",
            "example": false,
            "type": "boolean",
            "default": true
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901",
            "type": "string"
          },
          "duration_minutes": {
            "description": "Time length (minutes) after which the conference will end.",
            "example": 5,
            "type": "integer"
          },
          "hold_audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played to participants joining the conference. The URL can point to either a WAV or MP3 file. hold_media_name and hold_audio_url cannot be used together in one request. Takes effect only when \"start_conference_on_create\" is set to \"false\"."
          },
          "hold_media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played to participants joining the conference. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file. Takes effect only when \"start_conference_on_create\" is set to \"false\"."
          },
          "max_participants": {
            "description": "The maximum number of active conference participants to allow. Must be between 2 and 800. Defaults to 250",
            "example": 3,
            "type": "integer"
          },
          "start_conference_on_create": {
            "description": "Whether the conference should be started on creation. If the conference isn't started all participants that join are automatically put on hold. Defaults to \"true\".",
            "example": false,
            "type": "boolean"
          },
          "region": {
            "description": "Sets the region where the conference data will be hosted. Defaults to the region defined in user's data locality settings (Europe or US).",
            "example": "US",
            "type": "string",
            "enum": [
              "Australia",
              "Europe",
              "Middle East",
              "US"
            ]
          }
        },
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "name": "Business",
          "beep_enabled": "always",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "duration_minutes": 5,
          "hold_audio_url": "http://www.example.com/audio.wav",
          "start_conference_on_create": false,
          "max_participants": 250
        }
      },
      "CreateConversationRequest": {
        "properties": {
          "name": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "description": "Metadata associated with the conversation. Set `ai_disabled` to `true` to create the conversation with AI message responses disabled.",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "type": "object",
        "title": "CreateConversationRequest"
      },
      "CreateCredentialConnectionRequest": {
        "type": "object",
        "title": "Create Credential Connection Request",
        "required": [
          "user_name",
          "password",
          "connection_name"
        ],
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters).",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1, v2 or texml. Note - texml can only be set when the outbound object parameter call_parking_enabled is included and set to true.",
            "enum": [
              "1",
              "2",
              "texml"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/CredentialInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CredentialOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "password": "my123secure456password789",
          "user_name": "myusername123",
          "anchorsite_override": "Latency",
          "connection_name": "my name",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": false,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "disabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "US",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        }
      },
      "CreateDocServiceDocumentRequest": {
        "type": "object",
        "properties": {
          "url": {
            "description": "If the file is already hosted publicly, you can provide a URL and have the documents service fetch it for you.",
            "type": "string",
            "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
          },
          "file": {
            "description": "Alternatively, instead of the URL you can provide the Base64 encoded contents of the file you are uploading.",
            "type": "string",
            "format": "byte",
            "example": "ZXhhbXBsZSBvZiBlbmNvZGVkIGNvbnRlbnQ="
          },
          "filename": {
            "description": "The filename of the document.",
            "type": "string",
            "example": "test-document.pdf"
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          }
        }
      },
      "CreateEventRequest": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "summary": {
            "type": "string",
            "title": "Summary"
          },
          "step_id": {
            "title": "Step Id",
            "type": "string"
          },
          "agent_id": {
            "title": "Agent Id",
            "type": "string"
          },
          "payload": {
            "title": "Payload",
            "additionalProperties": true,
            "type": "object"
          },
          "idempotency_key": {
            "title": "Idempotency Key",
            "description": "Prevents duplicate events on retry",
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "type",
          "summary"
        ],
        "title": "CreateEventRequest"
      },
      "CreateExternalConnectionRequest": {
        "type": "object",
        "title": "Create External Connection Request",
        "required": [
          "external_sip_connection",
          "outbound"
        ],
        "properties": {
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "external_sip_connection": {
            "$ref": "#/components/schemas/ExternalSipConnectionZoomOnly"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "inbound": {
            "type": "object",
            "properties": {
              "outbound_voice_profile_id": {
                "type": "string",
                "description": "The ID of the outbound voice profile to use for inbound calls.",
                "example": "12345678-1234-1234-1234-123456789012"
              },
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              }
            },
            "required": [
              "outbound_voice_profile_id"
            ]
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/external-voice-integrations_OutboundVoiceProfileId"
              }
            }
          }
        },
        "example": {
          "external_sip_connection": "zoom",
          "active": false,
          "outbound": {
            "outbound_voice_profile_id": "1911630617284445511"
          }
        }
      },
      "CreateExternalConnectionUploadRequest": {
        "type": "object",
        "title": "Create Upload Request",
        "required": [
          "number_ids"
        ],
        "properties": {
          "number_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Phone number ID from the Telnyx API."
            },
            "minItems": 1
          },
          "usage": {
            "type": "string",
            "enum": [
              "calling_user_assignment",
              "first_party_app_assignment"
            ],
            "description": "The use case of the upload request. NOTE: `calling_user_assignment` is not supported for toll free numbers."
          },
          "additional_usages": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "calling_user_assignment",
                "first_party_app_assignment"
              ],
              "description": "Additional use cases of the upload request. If not provided, all supported usages will be used."
            }
          },
          "location_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the location to assign all phone numbers to."
          },
          "civic_address_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the civic address to assign all phone numbers to."
          }
        },
        "example": {
          "number_ids": [
            "3920457616934164700",
            "3920457616934164701",
            "3920457616934164702",
            "3920457616934164703"
          ],
          "usage": "first_party_app_assignment",
          "location_id": "67ea7693-9cd5-4a68-8c76-abb3aa5bf5d2"
        }
      },
      "CreateFaxApplicationRequest": {
        "type": "object",
        "title": "Create Fax Application Request",
        "required": [
          "application_name",
          "webhook_event_url"
        ],
        "properties": {
          "application_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Fax Application.",
            "example": [
              "tag1",
              "tag2"
            ],
            "default": []
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          }
        },
        "example": {
          "application_name": "fax-router",
          "active": false,
          "anchorsite_override": "Amsterdam, Netherlands",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "tags": [
            "tag1",
            "tag2"
          ],
          "inbound": {
            "channel_limit": 10,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          }
        }
      },
      "CreateFineTuningJobRequest": {
        "properties": {
          "model": {
            "type": "string",
            "description": "The base model that is being fine-tuned."
          },
          "training_file": {
            "type": "string",
            "description": "The storage bucket or object used for training."
          },
          "suffix": {
            "type": "string",
            "description": "Optional suffix to append to the fine tuned model's name."
          },
          "hyperparameters": {
            "type": "object",
            "description": "The hyperparameters used for the fine-tuning job.",
            "properties": {
              "n_epochs": {
                "type": "integer",
                "minimum": 1,
                "maximum": 10,
                "default": 3,
                "description": "The number of epochs to train the model for. An epoch refers to one full cycle through the training dataset. 'auto' decides the optimal number of epochs based on the size of the dataset. If setting the number manually, we support any number between 1 and 50 epochs."
              }
            }
          }
        },
        "type": "object",
        "required": [
          "model",
          "training_file"
        ],
        "title": "CreateFineTuningJobRequest"
      },
      "CreateFqdnConnectionRequest": {
        "title": "Create FQDN Connection Request",
        "required": [
          "connection_name"
        ],
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true",
            "default": true
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "transport_protocol": {
            "$ref": "#/components/schemas/FqdnConnectionTransportProtocol"
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "microsoft_teams_sbc": {
            "type": "boolean",
            "description": "When enabled, the connection will be created for Microsoft Teams Direct Routing. A *.mstsbc.telnyx.tech FQDN will be created for the connection automatically.",
            "default": false
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_api_version": {
            "$ref": "#/components/schemas/WebhookApiVersion"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/InboundFqdn"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundFqdn"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "string",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 10,
            "shaken_stir_enabled": true
          },
          "outbound": {
            "ani_override": "+1234567890",
            "ani_override_type": "always",
            "call_parking_enabled": true,
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "instant_ringback_enabled": true,
            "ip_authentication_method": "credential-authentication",
            "ip_authentication_token": "aBcD1234",
            "localization": "string",
            "outbound_voice_profile_id": "1293384261075731499",
            "t38_reinvite_source": "customer",
            "tech_prefix": "0123",
            "encrypted_media": "SRTP",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 10
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        },
        "type": "object"
      },
      "CreateFqdnRequest": {
        "title": "Create Fqdn Request",
        "type": "object",
        "required": [
          "fqdn",
          "dns_record_type",
          "connection_id"
        ],
        "properties": {
          "connection_id": {
            "type": "string",
            "description": "ID of the FQDN connection to which this IP should be attached."
          },
          "fqdn": {
            "type": "string",
            "description": "FQDN represented by this resource.",
            "example": "example.com"
          },
          "port": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Port to use when connecting to this FQDN.",
            "default": 5060,
            "example": 5060
          },
          "dns_record_type": {
            "type": "string",
            "description": "The DNS record type for the FQDN. For cases where a port is not set, the DNS record type must be 'srv'. For cases where a port is set, the DNS record type must be 'a'. If the DNS record type is 'a' and a port is not specified, 5060 will be used.",
            "example": "a"
          }
        },
        "example": {
          "connection_id": "1516447646313612565",
          "fqdn": "example.com",
          "port": 8080,
          "dns_record_type": "a"
        }
      },
      "CreateGrantResponse": {
        "type": "object",
        "properties": {
          "redirect_uri": {
            "type": "string",
            "format": "uri",
            "description": "Redirect URI with authorization code or error"
          }
        },
        "required": [
          "redirect_uri"
        ]
      },
      "CreateGroupMMSMessageRequest": {
        "type": "object",
        "required": [
          "from",
          "to"
        ],
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number, in +E.164 format, used to send the message.",
            "x-format": "address"
          },
          "to": {
            "description": "A list of destinations. No more than 8 destinations are allowed.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ToNumber"
            }
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string."
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          }
        },
        "example": {
          "from": "+13125551234",
          "to": [
            "+18655551234",
            "+14155551234"
          ],
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media_urls": [
            "http://example.com"
          ],
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true
        }
      },
      "CreateInboundIpRequest": {
        "type": "object",
        "title": "Create Inbound Ip Request",
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_routing_method": {
            "type": "string",
            "enum": [
              "sequential",
              "round-robin"
            ],
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed."
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "sip_region": {
            "type": "string",
            "default": "US",
            "description": "Selects which `sip_region` to receive inbound calls from. If null, the default region (US) will be used.",
            "enum": [
              "US",
              "Europe",
              "Australia"
            ]
          },
          "sip_subdomain": {
            "type": "string",
            "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls."
          },
          "sip_subdomain_receive_settings": {
            "type": "string",
            "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
            "enum": [
              "only_my_connections",
              "from_anyone"
            ]
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          }
        },
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_routing_method": "sequential",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "sip_region": "US",
          "sip_subdomain": "test",
          "sip_subdomain_receive_settings": "only_my_connections",
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true
        }
      },
      "CreateIntegrationSecretRequest": {
        "properties": {
          "identifier": {
            "type": "string",
            "title": "Identifier",
            "description": "The unique identifier of the secret."
          },
          "type": {
            "type": "string",
            "title": "Type",
            "description": "The type of secret.",
            "enum": [
              "bearer",
              "basic"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The token for the secret. Required for bearer type secrets, ignored otherwise."
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username for the secret. Required for basic type secrets, ignored otherwise."
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "The password for the secret. Required for basic type secrets, ignored otherwise."
          }
        },
        "type": "object",
        "required": [
          "identifier",
          "type"
        ],
        "title": "CreateIntegrationSecretRequest"
      },
      "CreateIosPushCredentialRequest": {
        "type": "object",
        "title": "Create iOS push credential request",
        "required": [
          "type",
          "certificate",
          "private_key",
          "alias"
        ],
        "properties": {
          "type": {
            "description": "Type of mobile push credential. Should be <code>ios</code> here",
            "type": "string",
            "enum": [
              "ios"
            ]
          },
          "certificate": {
            "description": "Certificate as received from APNs",
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----"
          },
          "private_key": {
            "description": "Corresponding private key to the certificate as received from APNs",
            "type": "string",
            "example": "-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----"
          },
          "alias": {
            "description": "Alias to uniquely identify the credential",
            "type": "string",
            "example": "LucyIosCredential"
          }
        }
      },
      "CreateIpConnectionRequest": {
        "title": "Create IP Connection Request",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true",
            "example": true
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string",
            "example": "string"
          },
          "transport_protocol": {
            "type": "string",
            "description": "One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.",
            "default": "UDP",
            "enum": [
              "UDP",
              "TCP",
              "TLS"
            ],
            "example": "UDP"
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout.",
            "example": true
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.",
            "example": true
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.",
            "example": false
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/CreateInboundIpRequest"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundIp"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": false,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "default_routing_method": "sequential",
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "test",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "string",
            "ani_override_type": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "string",
            "t38_reinvite_source": "customer",
            "tech_prefix": "string",
            "ip_authentication_method": "token",
            "ip_authentication_token": "string",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        },
        "type": "object"
      },
      "CreateIpRequest": {
        "title": "Create Ip Request",
        "type": "object",
        "required": [
          "ip_address"
        ],
        "properties": {
          "connection_id": {
            "type": "string",
            "description": "ID of the IP Connection to which this IP should be attached."
          },
          "ip_address": {
            "type": "string",
            "description": "IP adddress represented by this resource.",
            "example": "192.168.0.0"
          },
          "port": {
            "type": "integer",
            "description": "Port to use when connecting to this IP.",
            "default": 5060,
            "example": 5060
          }
        },
        "example": {
          "connection_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "ip_address": "192.168.0.0",
          "port": 5060
        }
      },
      "CreateLongCodeMessageRequest": {
        "type": "object",
        "required": [
          "from",
          "to"
        ],
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number, in +E.164 format, used to send the message.",
            "x-format": "address"
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.\n\n**Required for MMS**",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          },
          "type": {
            "description": "The protocol for sending the message, either SMS or MMS.",
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "auto_detect": {
            "description": "Automatically detect if an SMS message is unusually long and exceeds a recommended limit of message parts.",
            "type": "boolean",
            "default": false
          },
          "encoding": {
            "type": "string",
            "description": "Encoding to use for the message. `auto` (default) uses smart encoding to automatically select the most efficient encoding. `gsm7` forces GSM-7 encoding (returns 400 if message contains characters that cannot be encoded). `ucs2` forces UCS-2 encoding and disables smart encoding. When set, this overrides the messaging profile's `smart_encoding` setting.",
            "enum": [
              "auto",
              "gsm7",
              "ucs2"
            ],
            "default": "auto"
          }
        },
        "example": {
          "from": "+18445550001",
          "to": "+13125550002",
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media_urls": [
            "http://example.com"
          ],
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true,
          "type": "MMS"
        }
      },
      "CreateMCPServerRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "api_key_ref": {
            "type": [
              "string",
              "null"
            ],
            "title": "Api Key Ref"
          },
          "allowed_tools": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "title": "Allowed Tools"
          }
        },
        "required": [
          "name",
          "type",
          "url"
        ],
        "title": "CreateMCPServerRequest"
      },
      "CreateManagedAccountRequest": {
        "title": "Create Managed Account Request",
        "required": [
          "business_name"
        ],
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address for the managed account. If not provided, the email address will be generated based on the email address of the manager account.",
            "example": "new_managed_account@customer.org"
          },
          "password": {
            "type": "string",
            "description": "Password for the managed account. If a password is not supplied, the account will not be able to be signed into directly. (A password reset may still be performed later to enable sign-in via password.)",
            "example": "3jVjLq!tMuWKyWx4NN*CvhnB"
          },
          "business_name": {
            "type": "string",
            "description": "The name of the business for which the new managed account is being created, that will be used as the managed accounts's organization's name.",
            "example": "Larry's Cat Food Inc"
          },
          "managed_account_allow_custom_pricing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the managed account is able to have custom pricing set for it or not. If false, uses the pricing of the manager account. Defaults to false. This value may be changed after creation, but there may be time lag between when the value is changed and pricing changes take effect.",
            "example": false
          },
          "rollup_billing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the billing information and charges to the managed account \"roll up\" to the manager account. If true, the managed account will not have its own balance and will use the shared balance with the manager account. This value cannot be changed after account creation without going through Telnyx support as changes require manual updates to the account ledger. Defaults to false.",
            "example": false
          }
        },
        "example": {
          "email": "larry_cat_food@customer.org",
          "password": "3jVjLq!tMuWKyWx4NN*CvhnB",
          "business_name": "Larry's Cat Food Inc",
          "managed_account_allow_custom_pricing": false,
          "rollup_billing": false
        },
        "type": "object"
      },
      "CreateMessageRequest": {
        "type": "object",
        "required": [
          "to"
        ],
        "properties": {
          "from": {
            "type": "string",
            "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).\n\n**Required if sending with a phone number, short code, or alphanumeric sender ID.**\n",
            "x-format": "address"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile.\n\n**Required if sending via number pool or with an alphanumeric sender ID.**\n"
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.\n\n**Required for MMS**",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          },
          "type": {
            "description": "The protocol for sending the message, either SMS or MMS.",
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "auto_detect": {
            "description": "Automatically detect if an SMS message is unusually long and exceeds a recommended limit of message parts.",
            "type": "boolean",
            "default": false
          },
          "send_at": {
            "description": "ISO 8601 formatted date indicating when to send the message - accurate up till a minute.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "encoding": {
            "type": "string",
            "description": "Encoding to use for the message. `auto` (default) uses smart encoding to automatically select the most efficient encoding. `gsm7` forces GSM-7 encoding (returns 400 if message contains characters that cannot be encoded). `ucs2` forces UCS-2 encoding and disables smart encoding. When set, this overrides the messaging profile's `smart_encoding` setting.",
            "enum": [
              "auto",
              "gsm7",
              "ucs2"
            ],
            "default": "auto"
          }
        },
        "example": {
          "from": "+18445550001",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "to": "+18445550001",
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media_urls": [
            "http://example.com"
          ],
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true,
          "type": "MMS"
        }
      },
      "CreateMessageTemplateRequest": {
        "title": "CreateMessageTemplateRequest",
        "description": "The request body when creating a message template.",
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "example": "Your {{app_name}} verification code is: {{code}}.",
            "type": "string",
            "description": "The text content of the message template."
          }
        }
      },
      "CreateMessagingHostedNumberOrderRequest": {
        "type": "object",
        "example": {
          "messaging_profile_id": "dc8f39ac-953d-4520-b93b-786ae87db0da",
          "phone_numbers": [
            "+18665550001",
            "+18665550002"
          ]
        },
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            },
            "description": "Phone numbers to be used for hosted messaging."
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Automatically associate the number with this messaging profile ID when the order is complete."
          }
        }
      },
      "CreateMessagingProfileRequest": {
        "type": "object",
        "required": [
          "name",
          "whitelisted_destinations"
        ],
        "properties": {
          "name": {
            "description": "A user friendly name for the messaging profile.",
            "type": "string"
          },
          "whitelisted_destinations": {
            "description": "Destinations to which the messaging profile is allowed to send. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]` all destinations will be allowed.",
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code.",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "enabled": {
            "description": "Specifies whether the messaging profile is enabled or not.",
            "type": "boolean",
            "default": true
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this messaging profile will be sent.",
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "default": ""
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this messaging profile will be sent if sending to the primary URL fails.",
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "default": ""
          },
          "webhook_api_version": {
            "description": "Determines which webhook format will be used, Telnyx API v1, v2, or a legacy 2010-04-01 format.",
            "type": "string",
            "enum": [
              "1",
              "2",
              "2010-04-01"
            ],
            "default": "2"
          },
          "number_pool_settings": {
            "$ref": "#/components/schemas/NumberPoolSettings"
          },
          "url_shortener_settings": {
            "$ref": "#/components/schemas/UrlShortenerSettings"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$"
          },
          "daily_spend_limit": {
            "description": "The maximum amount of money (in USD) that can be spent by this profile before midnight UTC.",
            "type": "string",
            "pattern": "^[0-9]+(?:\\.[0-9]+)?$"
          },
          "daily_spend_limit_enabled": {
            "description": "Whether to enforce the value configured by `daily_spend_limit`.",
            "type": "boolean"
          },
          "mms_fall_back_to_sms": {
            "description": "enables SMS fallback for MMS messages.",
            "type": "boolean",
            "default": false
          },
          "mms_transcoding": {
            "description": "enables automated resizing of MMS media.",
            "type": "boolean",
            "default": false
          },
          "mobile_only": {
            "description": "Send messages only to mobile phone numbers.",
            "type": "boolean",
            "default": false
          },
          "smart_encoding": {
            "description": "Enables automatic character encoding optimization for SMS messages. When enabled, the system automatically selects the most efficient encoding (GSM-7 or UCS-2) based on message content to maximize character limits and minimize costs.",
            "type": "boolean",
            "default": false
          },
          "resource_group_id": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 64,
            "description": "The resource group ID to associate with this messaging profile."
          },
          "health_webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "A URL to receive health check webhooks for numbers in this profile."
          },
          "ai_assistant_id": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 64,
            "description": "The AI assistant ID to associate with this messaging profile."
          }
        },
        "example": {
          "name": "My name",
          "enabled": true,
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "webhook_api_version": "2",
          "number_pool_settings": {
            "toll_free_weight": 10,
            "long_code_weight": 1,
            "skip_unhealthy": true,
            "sticky_sender": false,
            "geomatch": false
          },
          "url_shortener_settings": {
            "domain": "example.ex",
            "prefix": "",
            "replace_blacklist_only": true,
            "send_webhooks": false
          },
          "whitelisted_destinations": [
            "US"
          ]
        }
      },
      "CreateMissionRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "model": {
            "title": "Model",
            "type": "string"
          },
          "instructions": {
            "title": "Instructions",
            "type": "string"
          },
          "execution_mode": {
            "$ref": "#/components/schemas/ExecutionMode",
            "default": "external"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateMissionRequest"
      },
      "CreateMissionRunRequest": {
        "properties": {
          "input": {
            "title": "Input",
            "additionalProperties": true,
            "type": "object"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "title": "CreateMissionRunRequest"
      },
      "CreateMsgReq": {
        "properties": {
          "role": {
            "type": "string",
            "title": "Role"
          },
          "content": {
            "type": "string",
            "title": "Content",
            "default": ""
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "tool_choice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "title": "ToolChoiceObject"
              }
            ],
            "title": "Tool Choice"
          },
          "tool_calls": {
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "type": "array",
            "title": "Tool Calls"
          },
          "tool_call_id": {
            "type": "string",
            "title": "Tool Call Id"
          },
          "sent_at": {
            "type": "string",
            "format": "date-time",
            "title": "Sent At"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "boolean"
                },
                {
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      },
                      {
                        "type": "boolean"
                      }
                    ]
                  },
                  "type": "array"
                }
              ]
            },
            "title": "Metadata"
          }
        },
        "type": "object",
        "required": [
          "role"
        ],
        "title": "CreateMsgReq"
      },
      "CreateMultiPartDocServiceDocumentRequest": {
        "type": "object",
        "properties": {
          "file": {
            "description": "The file you are uploading.",
            "type": "string",
            "format": "binary"
          },
          "customer_reference": {
            "type": "string",
            "description": "Optional reference string for customer tracking.",
            "example": "MY REF 001"
          }
        }
      },
      "CreateNumberBlockOrderRequest": {
        "required": [
          "starting_number",
          "range"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_block_order",
            "readOnly": true
          },
          "starting_number": {
            "type": "string",
            "description": "Starting phone number block",
            "example": "+19705555000",
            "writeOnly": true
          },
          "range": {
            "type": "integer",
            "description": "The phone number range included in the block.",
            "example": 10,
            "writeOnly": true
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "The count of phone numbers in the number order.",
            "example": 10,
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "346789098765567",
            "description": "Identifies the connection associated with this phone number."
          },
          "messaging_profile_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the order.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the number order was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number order was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for every phone number, false otherwise.",
            "example": true,
            "readOnly": true
          },
          "errors": {
            "type": "string",
            "description": "Errors the reservation could happen upon",
            "example": "Number is already on hold",
            "readOnly": true
          }
        },
        "example": {
          "starting_number": "+19705555000",
          "range": 10
        },
        "type": "object"
      },
      "CreateNumberOrderRequest": {
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "e164_phone_number",
                  "example": "+19705555098"
                },
                "requirement_group_id": {
                  "type": "string",
                  "description": "ID of requirement group to use to satisfy number requirements",
                  "example": "dbbd94ee-9079-488f-80ba-f566b247fd7"
                },
                "bundle_id": {
                  "type": "string",
                  "description": "ID of bundle to associate the number to",
                  "example": "bc8e4d67-33a0-4cbb-af74-7b58f05bd494"
                }
              },
              "required": [
                "phone_number"
              ]
            },
            "writeOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "346789098765567",
            "description": "Identifies the connection associated with this phone number."
          },
          "messaging_profile_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "billing_group_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the billing group associated with the phone number."
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          }
        },
        "example": {
          "phone_numbers": [
            {
              "phone_number": "+19705555098",
              "bundle_id": "bc8e4d67-33a0-4cbb-af74-7b58f05bd494"
            },
            {
              "phone_number": "+492111609539",
              "requirement_group_id": "dbbd94ee-9079-488f-80ba-f566b247fd79"
            }
          ],
          "connection_id": "346789098765567",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600",
          "billing_group_id": "abc85f64-5717-4562-b3fc-2c9600",
          "customer_reference": "MY REF 001"
        },
        "type": "object"
      },
      "CreateNumberPoolMessageRequest": {
        "type": "object",
        "required": [
          "to",
          "messaging_profile_id"
        ],
        "properties": {
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.\n\n**Required for MMS**",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          },
          "type": {
            "description": "The protocol for sending the message, either SMS or MMS.",
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "auto_detect": {
            "description": "Automatically detect if an SMS message is unusually long and exceeds a recommended limit of message parts.",
            "type": "boolean",
            "default": false
          },
          "encoding": {
            "type": "string",
            "description": "Encoding to use for the message. `auto` (default) uses smart encoding to automatically select the most efficient encoding. `gsm7` forces GSM-7 encoding (returns 400 if message contains characters that cannot be encoded). `ucs2` forces UCS-2 encoding and disables smart encoding. When set, this overrides the messaging profile's `smart_encoding` setting.",
            "enum": [
              "auto",
              "gsm7",
              "ucs2"
            ],
            "default": "auto"
          }
        },
        "example": {
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "to": "+13125550002",
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media_urls": [
            "http://example.com"
          ],
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true,
          "type": "MMS"
        }
      },
      "CreateNumberReservationRequest": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_reservation",
            "readOnly": true
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservedPhoneNumber"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the entire reservation.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the numbers reservation was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number reservation was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          }
        },
        "example": {
          "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
          "record_type": "number_reservation",
          "phone_numbers": [
            {
              "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
              "record_type": "reserved_phone_number",
              "phone_number": "+19705555098",
              "status": "pending",
              "created_at": "2018-01-01T00:00:00.000000Z",
              "updated_at": "2018-01-01T00:00:00.000000Z",
              "expired_at": "2018-01-01T00:00:00.000000Z",
              "errors": "Number is already on hold"
            }
          ],
          "status": "pending",
          "customer_reference": "MY REF 001",
          "created_at": "2018-01-01T00:00:00.000000Z",
          "updated_at": "2018-01-01T00:00:00.000000Z"
        },
        "type": "object"
      },
      "CreateOAuthGrantRequest": {
        "type": "object",
        "properties": {
          "allowed": {
            "type": "boolean",
            "description": "Whether the grant is allowed"
          },
          "consent_token": {
            "type": "string",
            "description": "Consent token"
          }
        },
        "required": [
          "allowed",
          "consent_token"
        ],
        "additionalProperties": false
      },
      "CreateOutboundVoiceProfileRequest": {
        "type": "object",
        "title": "Outbound Voice Profile",
        "required": [
          "name"
        ],
        "example": {
          "name": "office",
          "traffic_type": "conversational",
          "service_plan": "global",
          "concurrent_call_limit": 10,
          "enabled": true,
          "tags": [
            "office-profile"
          ],
          "usage_payment_method": "rate-deck",
          "whitelisted_destinations": [
            "US",
            "BR",
            "AU"
          ],
          "max_destination_rate": 10,
          "daily_spend_limit": "100.00",
          "daily_spend_limit_enabled": true,
          "billing_group_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "calling_window": {
            "start_time": "08:00:00.00Z",
            "end_time": "20:00:00.00Z",
            "calls_per_cld": 5
          }
        },
        "properties": {
          "name": {
            "type": "string",
            "description": "A user-supplied name to help with organization.",
            "example": "office",
            "minLength": 3
          },
          "traffic_type": {
            "$ref": "#/components/schemas/TrafficType"
          },
          "service_plan": {
            "$ref": "#/components/schemas/ServicePlan"
          },
          "concurrent_call_limit": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Must be no more than your global concurrent call limit. Null means no limit.",
            "example": 10
          },
          "enabled": {
            "type": "boolean",
            "description": "Specifies whether the outbound voice profile can be used. Disabled profiles will result in outbound calls being blocked for the associated Connections.",
            "example": true,
            "default": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "office-profile"
            ]
          },
          "usage_payment_method": {
            "$ref": "#/components/schemas/UsagePaymentMethod"
          },
          "whitelisted_destinations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2.",
            "example": [
              "US",
              "BR",
              "AU"
            ],
            "default": [
              "US",
              "CA"
            ]
          },
          "max_destination_rate": {
            "type": "number",
            "description": "Maximum rate (price per minute) for a Destination to be allowed when making outbound calls."
          },
          "daily_spend_limit": {
            "type": "string",
            "description": "The maximum amount of usage charges, in USD, you want Telnyx to allow on this outbound voice profile in a day before disallowing new calls.",
            "example": "100.00"
          },
          "daily_spend_limit_enabled": {
            "type": "boolean",
            "description": "Specifies whether to enforce the daily_spend_limit on this outbound voice profile.",
            "example": true,
            "default": false
          },
          "call_recording": {
            "$ref": "#/components/schemas/OutboundCallRecording"
          },
          "billing_group_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "The ID of the billing group associated with the outbound proflile. Defaults to null (for no group assigned).",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "default": null
          },
          "calling_window": {
            "type": "object",
            "description": "(BETA) Specifies the time window and call limits for calls made using this outbound voice profile. Note that all times are UTC in 24-hour clock time.",
            "example": {
              "start_time": "08:00:00.00Z",
              "end_time": "20:00:00.00Z",
              "calls_per_cld": 5
            },
            "properties": {
              "start_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are allowed to start.",
                "example": "08:00:00.00Z",
                "format": "time"
              },
              "end_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no longer allowed to start.",
                "example": "20:00:00.00Z",
                "format": "time"
              },
              "calls_per_cld": {
                "type": "integer",
                "description": "(BETA) The maximum number of calls that can be initiated to a single called party (CLD) within the calling window. A null value means no limit.",
                "example": 5,
                "minimum": 0
              }
            }
          }
        }
      },
      "CreatePlanRequest": {
        "properties": {
          "steps": {
            "items": {
              "$ref": "#/components/schemas/CreatePlanStepRequest"
            },
            "type": "array",
            "title": "Steps"
          }
        },
        "type": "object",
        "required": [
          "steps"
        ],
        "title": "CreatePlanRequest"
      },
      "CreatePlanStepRequest": {
        "properties": {
          "step_id": {
            "type": "string",
            "title": "Step Id"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "sequence": {
            "type": "integer",
            "title": "Sequence"
          },
          "parent_step_id": {
            "title": "Parent Step Id",
            "type": "string"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "required": [
          "step_id",
          "description",
          "sequence"
        ],
        "title": "CreatePlanStepRequest"
      },
      "CreatePortingOrder": {
        "type": "object",
        "title": "CreatePortingOrder",
        "required": [
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of +E.164 formatted phone numbers",
            "example": [
              "+13035550000",
              "+13035550001",
              "+13035550002"
            ]
          },
          "customer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "A customer-specified reference number for customer bookkeeping purposes",
            "example": "Acct 123abc"
          },
          "customer_group_reference": {
            "type": "string",
            "description": "A customer-specified group reference for customer bookkeeping purposes",
            "example": "Group-456"
          }
        }
      },
      "CreatePortingOrderComment": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "example": "Please, let me know when the port completes"
          }
        }
      },
      "CreatePronunciationDictRequest": {
        "type": "object",
        "description": "Request body for creating a pronunciation dictionary.",
        "required": [
          "name",
          "items"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable name. Must be unique within the organization.",
            "minLength": 1,
            "maxLength": 255,
            "example": "Brand Names"
          },
          "items": {
            "type": "array",
            "description": "List of pronunciation items (alias or phoneme type). At least one item is required.",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/PronunciationDictItem"
            }
          }
        }
      },
      "CreateQueueRequest": {
        "type": "object",
        "title": "Create Queue Request",
        "required": [
          "queue_name"
        ],
        "properties": {
          "queue_name": {
            "description": "The name of the queue. Must be between 1 and 255 characters.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "example": "tier_1_support"
          },
          "max_size": {
            "description": "The maximum number of calls allowed in the queue.",
            "type": "integer",
            "minimum": 1,
            "default": 300,
            "example": 100
          }
        },
        "example": {
          "queue_name": "tier_1_support",
          "max_size": 100
        }
      },
      "CreateRoomClientTokenRequest": {
        "type": "object",
        "properties": {
          "token_ttl_secs": {
            "description": "The time to live in seconds of the Client Token, after that time the Client Token is invalid and can't be used to join a Room.",
            "type": "integer",
            "example": 600,
            "default": 600,
            "minimum": 10,
            "maximum": 3600
          },
          "refresh_token_ttl_secs": {
            "description": "The time to live in seconds of the Refresh Token, after that time the Refresh Token is invalid and can't be used to refresh Client Token.",
            "type": "integer",
            "example": 3600,
            "default": 3600,
            "minimum": 60,
            "maximum": 86400
          }
        }
      },
      "CreateRoomCompositionRequest": {
        "type": "object",
        "properties": {
          "format": {
            "description": "The desired format of the room composition.",
            "type": "string",
            "example": "mp4",
            "default": "mp4"
          },
          "resolution": {
            "description": "The desired resolution (width/height in pixels) of the resulting video of the room composition. Both width and height are required to be between 16 and 1280; and width * height should not exceed 1280 * 720",
            "type": "string",
            "example": "800x600",
            "default": "1280x720"
          },
          "session_id": {
            "description": "id of the room session associated with the room composition.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "video_layout": {
            "description": "Describes the video layout of the room composition in terms of regions.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/VideoRegion"
            }
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this room composition will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": "string",
            "format": "uri",
            "description": "The failover URL where webhooks related to this room composition will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          }
        }
      },
      "CreateRoomRequest": {
        "type": "object",
        "properties": {
          "unique_name": {
            "description": "The unique (within the Telnyx account scope) name of the room.",
            "type": "string",
            "example": "My room"
          },
          "max_participants": {
            "description": "The maximum amount of participants allowed in a room. If new participants try to join after that limit is reached, their request will be rejected.",
            "type": "integer",
            "example": 10,
            "default": 10,
            "minimum": 2,
            "maximum": 50
          },
          "enable_recording": {
            "description": "Enable or disable recording for that room.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this room will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": "string",
            "format": "uri",
            "description": "The failover URL where webhooks related to this room will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          }
        }
      },
      "CreateScheduledEventRequest": {
        "properties": {
          "telnyx_conversation_channel": {
            "$ref": "#/components/schemas/ConversationChannelType"
          },
          "telnyx_end_user_target": {
            "type": "string",
            "description": "The phone number, SIP URI, to schedule the call or text to.",
            "title": "Telnyx End User Target"
          },
          "telnyx_agent_target": {
            "type": "string",
            "description": "The phone number, SIP URI, to schedule the call or text from.",
            "title": "Telnyx Agent Target"
          },
          "scheduled_at_fixed_datetime": {
            "type": "string",
            "format": "date-time",
            "description": "The datetime at which the event should be scheduled. Formatted as ISO 8601.",
            "example": "2025-04-15T13:07:28.764Z",
            "title": "Scheduled At Fixed Datetime"
          },
          "text": {
            "type": "string",
            "description": "Required for sms scheduled events. The text to be sent to the end user."
          },
          "conversation_metadata": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "type": "object",
            "description": "Metadata associated with the conversation. Telnyx provides several pieces of metadata, but customers can also add their own.",
            "title": "Conversation Metadata"
          },
          "dynamic_variables": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "description": "A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.",
            "title": "Dynamic Variables"
          },
          "max_retries_client_errors": {
            "type": "integer",
            "maximum": 10,
            "minimum": 0,
            "title": "Max Retries Client Errors",
            "description": "Configure number of retries on client errors: busy, no-answer, failed, canceled (caller hung up before the callee answered)",
            "default": 0
          },
          "retry_interval_secs": {
            "title": "Retry Interval Secs",
            "type": "integer",
            "maximum": 86400,
            "minimum": 60
          }
        },
        "type": "object",
        "required": [
          "telnyx_conversation_channel",
          "telnyx_end_user_target",
          "telnyx_agent_target",
          "scheduled_at_fixed_datetime"
        ],
        "title": "CreateScheduledEventRequest"
      },
      "CreateScheduledMessageRequest": {
        "type": "object",
        "required": [
          "to"
        ],
        "properties": {
          "from": {
            "type": "string",
            "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).\n\n**Required if sending with a phone number, short code, or alphanumeric sender ID.**\n",
            "x-format": "address"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile.\n\n**Required if sending via number pool or with an alphanumeric sender ID.**\n"
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.\n\n**Required for MMS**",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          },
          "type": {
            "description": "The protocol for sending the message, either SMS or MMS.",
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "auto_detect": {
            "description": "Automatically detect if an SMS message is unusually long and exceeds a recommended limit of message parts.",
            "type": "boolean",
            "default": false
          },
          "send_at": {
            "description": "ISO 8601 formatted date indicating when to send the message - accurate up till a minute.",
            "type": "string",
            "format": "date-time"
          }
        },
        "example": {
          "from": "+18445550001",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "to": "+18445550001",
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true,
          "type": "SMS",
          "send_at": "2019-01-23T18:30:00Z"
        }
      },
      "CreateSharedToolRequest": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "function": {
            "title": "Function",
            "additionalProperties": true,
            "type": "object"
          },
          "retrieval": {
            "title": "Retrieval",
            "additionalProperties": true,
            "type": "object"
          },
          "handoff": {
            "title": "Handoff",
            "additionalProperties": true,
            "type": "object"
          },
          "invite": {
            "title": "Invite",
            "additionalProperties": true,
            "type": "object"
          },
          "webhook": {
            "title": "Webhook",
            "additionalProperties": true,
            "type": "object"
          },
          "timeout_ms": {
            "type": "integer",
            "title": "Timeout Ms",
            "default": 5000
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "type",
          "display_name"
        ],
        "title": "CreateSharedToolRequest",
        "description": "Request model for creating a shared (org-level) tool."
      },
      "CreateShortCodeMessageRequest": {
        "type": "object",
        "required": [
          "from",
          "to"
        ],
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number, in +E.164 format, used to send the message.",
            "x-format": "address"
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": "string",
            "description": "Subject of multimedia message"
          },
          "media_urls": {
            "description": "A list of media URLs. The total media size must be less than 1 MB.\n\n**Required for MMS**",
            "type": "array",
            "items": {
              "type": "string",
              "format": "url"
            }
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails.",
            "type": "string",
            "format": "url"
          },
          "use_profile_webhooks": {
            "type": "boolean",
            "description": "If the profile this number is associated with has webhooks, use them for delivery notifications. If webhooks are also specified on the message itself, they will be attempted first, then those on the profile.",
            "default": true
          },
          "type": {
            "description": "The protocol for sending the message, either SMS or MMS.",
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "auto_detect": {
            "description": "Automatically detect if an SMS message is unusually long and exceeds a recommended limit of message parts.",
            "type": "boolean",
            "default": false
          },
          "encoding": {
            "type": "string",
            "description": "Encoding to use for the message. `auto` (default) uses smart encoding to automatically select the most efficient encoding. `gsm7` forces GSM-7 encoding (returns 400 if message contains characters that cannot be encoded). `ucs2` forces UCS-2 encoding and disables smart encoding. When set, this overrides the messaging profile's `smart_encoding` setting.",
            "enum": [
              "auto",
              "gsm7",
              "ucs2"
            ],
            "default": "auto"
          }
        },
        "example": {
          "from": "+18445550001",
          "to": "+18445550001",
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media_urls": [
            "http://example.com"
          ],
          "webhook_url": "http://example.com/webhooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "use_profile_webhooks": true,
          "type": "MMS"
        }
      },
      "CreateSubNumberOrdersReportRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Filter by order status",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "example": "success"
          },
          "country_code": {
            "type": "string",
            "description": "Filter by country code",
            "example": "US"
          },
          "created_at_gt": {
            "type": "string",
            "format": "date-time",
            "description": "Filter for orders created after this date",
            "example": "2023-04-05T10:22:08.230549Z"
          },
          "created_at_lt": {
            "type": "string",
            "format": "date-time",
            "description": "Filter for orders created before this date",
            "example": "2025-06-05T10:22:08.230549Z"
          },
          "order_request_id": {
            "type": "string",
            "format": "uuid",
            "description": "Filter by specific order request ID",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c293"
          },
          "customer_reference": {
            "type": "string",
            "description": "Filter by customer reference",
            "example": "STRING"
          }
        },
        "example": {
          "status": "success",
          "country_code": "US",
          "created_at_gt": "2023-04-05T10:22:08.230549Z",
          "created_at_lt": "2025-06-05T10:22:08.230549Z",
          "order_request_id": "12ade33a-21c0-473b-b055-b3c836e1c293",
          "customer_reference": "STRING"
        }
      },
      "CreateTeXMLSecretRequest": {
        "type": "object",
        "title": "Create TeXML Secret request",
        "required": [
          "name",
          "value"
        ],
        "example": {
          "name": "My Secret Name",
          "value": "My Secret Value"
        },
        "properties": {
          "name": {
            "type": "string",
            "description": "Name used as a reference for the secret, if the name already exists within the account its value will be replaced",
            "example": "My Secret Name"
          },
          "value": {
            "type": "string",
            "description": "Secret value which will be used when rendering the TeXML template",
            "example": "My Secret Value"
          }
        }
      },
      "CreateTeXMLSecretResult": {
        "type": "object",
        "title": "Create TeXML Secret result",
        "example": {
          "name": "My Secret Name",
          "value": "REDACTED"
        },
        "properties": {
          "name": {
            "type": "string",
            "example": "My Secret Name"
          },
          "value": {
            "type": "string",
            "enum": [
              "REDACTED"
            ],
            "example": "REDACTED"
          }
        }
      },
      "CreateTexmlApplicationRequest": {
        "type": "object",
        "title": "Create Texml Application Request",
        "required": [
          "friendly_name",
          "voice_url"
        ],
        "properties": {
          "friendly_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "first_command_timeout": {
            "$ref": "#/components/schemas/FirstCommandTimeout"
          },
          "first_command_timeout_secs": {
            "$ref": "#/components/schemas/FirstCommandTimeoutSecs"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Texml Application.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "voice_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks.",
            "format": "uri",
            "example": "https://example.com"
          },
          "voice_fallback_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url.",
            "default": null,
            "format": "uri",
            "example": "https://fallback.example.com"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this TeXML Application.",
            "default": false
          },
          "voice_method": {
            "type": "string",
            "description": "HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "status_callback": {
            "type": "string",
            "description": "URL for Telnyx to send requests to containing information about call progress events.",
            "default": null,
            "format": "uri",
            "example": "https://example.com"
          },
          "status_callback_method": {
            "type": "string",
            "description": "HTTP request method Telnyx should use when requesting the status_callback URL.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "shaken_stir_enabled": {
                "type": "boolean",
                "description": "When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls.",
                "default": false,
                "example": false
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          }
        },
        "example": {
          "friendly_name": "call-router",
          "active": false,
          "anchorsite_override": "Amsterdam, Netherlands",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "voice_url": "https://example.com",
          "voice_fallback_url": "https://fallback.example.com",
          "call_cost_in_webhooks": false,
          "voice_method": "get",
          "status_callback": "https://example.com",
          "status_callback_method": "get",
          "tags": [
            "tag1",
            "tag2"
          ],
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          }
        }
      },
      "CreateUacConnectionRequest": {
        "type": "object",
        "title": "Create UAC Connection Request",
        "required": [
          "connection_name"
        ],
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters).",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1, v2 or texml. Note - texml can only be set when the outbound object parameter call_parking_enabled is included and set to true.",
            "enum": [
              "1",
              "2",
              "texml"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/UacInboundRequest"
          },
          "outbound": {
            "$ref": "#/components/schemas/UacOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          },
          "internal_uac_settings": {
            "$ref": "#/components/schemas/UacInternalSettings"
          },
          "external_uac_settings": {
            "$ref": "#/components/schemas/UacExternalSettings"
          }
        },
        "example": {
          "active": true,
          "password": "my123secure456password789",
          "user_name": "myusername123",
          "anchorsite_override": "Latency",
          "connection_name": "my name",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": false,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "disabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "US",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          },
          "internal_uac_settings": {
            "destination_uri": "14155550123@acme.sip.telnyx.com"
          },
          "external_uac_settings": {
            "username": "ext8492",
            "password": "testtesttest",
            "proxy": "sip-pbx.acme.example",
            "auth_username": "auth8492",
            "from_user": "8492",
            "outbound_proxy": "outbound.sip-pbx.acme.example:5061",
            "expiration_sec": 600,
            "transport": "TLS"
          }
        },
        "description": "A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration."
      },
      "CreateUserBundlesBulkRequest": {
        "properties": {
          "idempotency_key": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "description": "Idempotency key for the request. Can be any UUID, but should always be unique for each request."
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "billing_bundle_id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
                  "description": "Quantity of user bundles to order."
                },
                "quantity": {
                  "type": "integer",
                  "description": "Quantity of user bundles to order."
                }
              },
              "required": [
                "billing_bundle_id",
                "quantity"
              ]
            },
            "writeOnly": true
          }
        },
        "type": "object"
      },
      "CreateVerificationRequest": {
        "title": "CreateVerificationRequest",
        "description": "The request body when creating a verification.",
        "required": [
          "phone_number",
          "verify_profile_id"
        ],
        "type": "object",
        "properties": {
          "phone_number": {
            "example": "+13035551234",
            "type": "string",
            "description": "+E164 formatted phone number."
          },
          "verify_profile_id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the associated Verify profile."
          },
          "timeout_secs": {
            "type": "integer",
            "example": 300,
            "description": "The number of seconds the verification code is valid for."
          }
        }
      },
      "CreateVerificationRequestCall": {
        "title": "CreateVerificationRequestCall",
        "description": "The request body when creating a verification.",
        "required": [
          "phone_number",
          "verify_profile_id"
        ],
        "type": "object",
        "properties": {
          "phone_number": {
            "example": "+13035551234",
            "type": "string",
            "description": "+E164 formatted phone number."
          },
          "verify_profile_id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the associated Verify profile."
          },
          "custom_code": {
            "example": "43612",
            "type": [
              "string",
              "null"
            ],
            "description": "Send a self-generated numeric code to the end-user",
            "default": null
          },
          "timeout_secs": {
            "type": "integer",
            "example": 300,
            "description": "The number of seconds the verification code is valid for."
          },
          "extension": {
            "example": "1www2WABCDw9",
            "type": [
              "string",
              "null"
            ],
            "description": "Optional extension to dial after call is answered using DTMF digits. Valid digits are 0-9, A-D, *, and #. Pauses can be added using w (0.5s) and W (1s).",
            "default": null
          }
        }
      },
      "CreateVerificationRequestSMS": {
        "title": "CreateVerificationRequestSMS",
        "description": "The request body when creating a verification.",
        "required": [
          "phone_number",
          "verify_profile_id"
        ],
        "type": "object",
        "properties": {
          "phone_number": {
            "example": "+13035551234",
            "type": "string",
            "description": "+E164 formatted phone number."
          },
          "verify_profile_id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the associated Verify profile."
          },
          "custom_code": {
            "example": "43612",
            "type": [
              "string",
              "null"
            ],
            "description": "Send a self-generated numeric code to the end-user",
            "default": null
          },
          "timeout_secs": {
            "type": "integer",
            "example": 300,
            "description": "The number of seconds the verification code is valid for."
          }
        }
      },
      "CreateVerificationResponse": {
        "title": "CreateVerifyVerificationResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Verification"
          }
        }
      },
      "CreateVerifiedNumberResponse": {
        "title": "CreateVerifiedNumberResponse",
        "type": "object",
        "properties": {
          "phone_number": {
            "example": "+15551234567",
            "type": "string"
          },
          "verification_method": {
            "example": "sms",
            "type": "string"
          }
        }
      },
      "CreateVerifyProfileCallRequest": {
        "title": "CreateVerifyProfileCallRequest",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "CreateVerifyProfileSMSRequest": {
        "title": "CreateVerifyProfileSMSRequest",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$",
            "default": "Telnyx"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "CreateVerifyProfileSettingsRequest": {
        "title": "CreateVerifyProfileSettingsRequest",
        "type": "object",
        "properties": {
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "CreateVerifyProfileSettingsWhatsAppRequest": {
        "title": "CreateVerifyProfileSettingsWhatsAppRequest",
        "type": "object",
        "properties": {
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          },
          "waba_id": {
            "example": "1234567890",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer Meta WABA ID for Bring-Your-Own-WABA sending",
            "default": null
          },
          "sender_phone_number": {
            "example": "+13035551234",
            "type": [
              "string",
              "null"
            ],
            "description": "Phone number registered on the customer WABA to send OTPs from",
            "default": null
          },
          "template_id": {
            "example": "authentication_template_name",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer pre-approved authentication template name registered on Meta",
            "default": null
          }
        }
      },
      "CreatedAt": {
        "title": "Created At",
        "type": "string",
        "description": "ISO 8601 formatted date indicating when the resource was created.",
        "example": "2020-02-02T22:25:27.521Z"
      },
      "CreatedUserBundlesResponse": {
        "title": "CreatedUserBundlesResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserBundle"
            }
          }
        }
      },
      "CreatedVerificationCodesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "VerificationCodeResult",
              "description": "Verification code result response",
              "required": [
                "phone_number"
              ],
              "properties": {
                "phone_number": {
                  "type": "string",
                  "x-format": "+E.164",
                  "description": "Phone number for which the verification code was created"
                },
                "verification_code_id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique identifier for the verification code"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sms",
                    "call"
                  ],
                  "description": "Type of verification method used"
                },
                "error": {
                  "type": "string",
                  "description": "Error message describing why the verification code creation failed"
                }
              }
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "CredentialActive": {
        "title": "Credential Active",
        "description": "If the credential associated with this service is active.",
        "type": "boolean",
        "default": false,
        "example": true
      },
      "CredentialConnection": {
        "type": "object",
        "title": "Credential Connection",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "credential_connection"
          },
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters). At least one of the first 5 characters must be a letter.",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "created_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "example": "disabled",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/CredentialInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CredentialOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "credential_connection",
          "active": true,
          "user_name": "myusername123",
          "password": "my123secure456password789",
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "call_cost_in_webhooks": false,
          "webhook_timeout_secs": 25,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtp+1",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 15,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "enabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "string",
            "ani_override_type": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "string",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        }
      },
      "CredentialInbound": {
        "type": "object",
        "title": "Credential Inbound",
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_routing_method": "sequential",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true,
          "simultaneous_ringing": "enabled"
        },
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_routing_method": {
            "type": "string",
            "enum": [
              "sequential",
              "round-robin"
            ],
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed."
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "minimum": 1,
            "maximum": 600,
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          },
          "simultaneous_ringing": {
            "type": "string",
            "description": "When enabled, allows multiple devices to ring simultaneously on incoming calls.",
            "default": "disabled",
            "enum": [
              "disabled",
              "enabled"
            ]
          }
        }
      },
      "CredentialOutbound": {
        "type": "object",
        "title": "Credential Outbound",
        "example": {
          "call_parking_enabled": true,
          "ani_override": "always",
          "channel_limit": 10,
          "instant_ringback_enabled": true,
          "generate_ringback_tone": true,
          "localization": "US",
          "t38_reinvite_source": "customer",
          "outbound_voice_profile_id": "1293384261075731499"
        },
        "properties": {
          "call_parking_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Forces all SIP calls originated on this connection to be \"parked\" instead of \"bridged\" to the destination specified on the URI. Parked calls will return ringback to the caller and will await for a Call Control command to define which action will be taken next."
          },
          "ani_override": {
            "type": "string",
            "description": "Set a phone number as the ani_override value to override caller id number on outbound calls.",
            "default": ""
          },
          "ani_override_type": {
            "type": "string",
            "enum": [
              "always",
              "normal",
              "emergency"
            ],
            "description": "Specifies when we apply your ani_override setting. Only applies when ani_override is not blank.",
            "default": "always"
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection."
          },
          "instant_ringback_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When set, ringback will not wait for indication before sending ringback tone to calling party."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "localization": {
            "type": "string",
            "default": "US",
            "description": "A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default.",
            "example": "US"
          },
          "t38_reinvite_source": {
            "type": "string",
            "enum": [
              "telnyx",
              "customer",
              "disabled",
              "passthru",
              "caller-passthru",
              "callee-passthru"
            ],
            "description": "This setting only affects connections with Fax-type Outbound Voice Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.",
            "default": "telnyx"
          },
          "outbound_voice_profile_id": {
            "$ref": "#/components/schemas/connections_OutboundVoiceProfileId"
          }
        }
      },
      "Credentials": {
        "description": "Opaque credential token used to authenticate and authorize with storage provider.",
        "type": "string",
        "example": "OPAQUE_CREDENTIALS_TOKEN"
      },
      "CredentialsResponse": {
        "type": "object",
        "title": "CredentialsResponse",
        "required": [
          "data",
          "connection_id",
          "record_type"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CustomStorageConfiguration"
          },
          "connection_id": {
            "$ref": "#/components/schemas/ConnectionIdCredentials"
          },
          "record_type": {
            "$ref": "#/components/schemas/RecordType"
          }
        }
      },
      "CsvDownload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "csv_download",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "example": "https://www.telnyx.com/sample/42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
            "description": "The URL at which the CSV file can be retrieved."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "complete",
              "failed",
              "expired"
            ],
            "default": "pending",
            "example": "pending",
            "description": "Indicates the completion level of the CSV report. Only complete CSV download requests will be able to be retrieved."
          }
        },
        "example": {
          "id": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
          "record_type": "csv_download",
          "url": "https://www.telnyx.com/sample/42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
          "status": "pending"
        }
      },
      "Cursor": {
        "type": "object",
        "properties": {
          "after": {
            "type": "string",
            "description": "Opaque identifier of next page.",
            "example": "v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          },
          "before": {
            "type": "string",
            "description": "Opaque identifier of previous page.",
            "example": "v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          }
        }
      },
      "CursorPaginationMeta": {
        "type": "object",
        "title": "Cursor Pagination Meta",
        "properties": {
          "cursors": {
            "$ref": "#/components/schemas/Cursor"
          },
          "total_items": {
            "type": "integer",
            "example": 50
          },
          "next": {
            "type": "string",
            "description": "Path to next page.",
            "example": "/v2/connections/1234567890/active_calls?page[after]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          },
          "previous": {
            "type": "string",
            "description": "Path to previous page.",
            "example": "/v2/connections/1234567890/active_calls?page[before]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          }
        }
      },
      "CustomSipHeader": {
        "type": "object",
        "title": "Custom SIP Header",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the header to add.",
            "type": "string",
            "example": "head_1"
          },
          "value": {
            "description": "The value of the header.",
            "type": "string",
            "example": "val_1"
          }
        },
        "example": {
          "name": "head_1",
          "value": "val_1"
        }
      },
      "CustomStorageConfiguration": {
        "type": "object",
        "title": "Custom Storage Configuration",
        "required": [
          "backend",
          "configuration"
        ],
        "properties": {
          "backend": {
            "type": "string",
            "enum": [
              "gcs",
              "s3",
              "azure"
            ],
            "example": "gcs"
          },
          "configuration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/GCSConfigurationData"
              },
              {
                "$ref": "#/components/schemas/S3ConfigurationData"
              },
              {
                "$ref": "#/components/schemas/AzureConfigurationData"
              }
            ],
            "discriminator": {
              "propertyName": "backend",
              "mapping": {
                "gcs": "#/components/schemas/GCSConfigurationData",
                "s3": "#/components/schemas/S3ConfigurationData",
                "azure": "#/components/schemas/AzureConfigurationData"
              }
            }
          }
        }
      },
      "CustomerServiceRecord": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this customer service record",
            "type": "string",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902",
            "readOnly": true
          },
          "phone_number": {
            "description": "The phone number of the customer service record.",
            "type": "string",
            "example": "+12065551212"
          },
          "status": {
            "description": "The status of the customer service record",
            "type": "string",
            "enum": [
              "pending",
              "completed",
              "failed"
            ],
            "example": "completed"
          },
          "error_message": {
            "description": "The error message in case status is `failed`. This field would be null in case of `pending` or `completed` status.",
            "type": [
              "string",
              "null"
            ],
            "example": "CSR information not available."
          },
          "result": {
            "description": "The result of the CSR request. This field would be null in case of `pending` or `failed` status.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "carrier_name": {
                "description": "The name of the carrier that the customer service record is for.",
                "type": "string",
                "example": "ABC CARRIER, INC."
              },
              "associated_phone_numbers": {
                "description": "The associated phone numbers of the customer service record.",
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "+12065551212"
                }
              },
              "admin": {
                "description": "The admin of the customer service record.",
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The name of the customer service record.",
                    "type": "string",
                    "example": "John Doe"
                  },
                  "billing_phone_number": {
                    "description": "The billing phone number of the customer service record.",
                    "type": "string",
                    "example": "+12065551212"
                  },
                  "account_number": {
                    "description": "The account number of the customer service record.",
                    "type": "string",
                    "example": "1234567890"
                  },
                  "authorized_person_name": {
                    "description": "The authorized person name of the customer service record.",
                    "type": "string",
                    "example": "John Doe"
                  }
                }
              },
              "address": {
                "description": "The address of the customer service record",
                "type": "object",
                "properties": {
                  "administrative_area": {
                    "description": "The state of the address",
                    "type": "string",
                    "example": "NY"
                  },
                  "locality": {
                    "description": "The city of the address",
                    "type": "string",
                    "example": "New York"
                  },
                  "postal_code": {
                    "description": "The zip code of the address",
                    "type": "string",
                    "example": "10001"
                  },
                  "street_address": {
                    "description": "The street address",
                    "type": "string",
                    "example": "123 Main St"
                  },
                  "full_address": {
                    "description": "The full address",
                    "type": "string",
                    "example": "123 Main St; New York; NY; 10001"
                  }
                }
              }
            }
          },
          "webhook_url": {
            "type": "string",
            "description": "Callback URL to receive webhook notifications.",
            "example": "https://example.com/webhook"
          },
          "record_type": {
            "type": "string",
            "example": "customer_service_record",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          }
        }
      },
      "CustomerServiceRecordAdditionalData": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the administrator of CSR.",
            "type": "string",
            "example": "Entity Inc."
          },
          "authorized_person_name": {
            "description": "The name of the authorized person.",
            "type": "string",
            "example": "John Doe"
          },
          "pin": {
            "description": "The PIN of the customer service record.",
            "type": "string",
            "example": "1234"
          },
          "account_number": {
            "description": "The account number of the customer service record.",
            "type": "string",
            "example": "123456789"
          },
          "customer_code": {
            "description": "The customer code of the customer service record.",
            "type": "string",
            "example": "123456789"
          },
          "address_line_1": {
            "description": "The first line of the address of the customer service record.",
            "type": "string",
            "example": "123 Main St"
          },
          "city": {
            "description": "The city of the customer service record.",
            "type": "string",
            "example": "New York"
          },
          "state": {
            "description": "The state of the customer service record.",
            "type": "string",
            "example": "NY",
            "maxLength": 2,
            "pattern": "^[A-Z]{2}$"
          },
          "zip_code": {
            "description": "The zip code of the customer service record.",
            "type": "string",
            "example": "10001",
            "maxLength": 5,
            "pattern": "^\\d{5}$"
          },
          "billing_phone_number": {
            "description": "The billing phone number of the customer service record.",
            "type": "string",
            "example": "+12065551212",
            "pattern": "^\\+1\\d{10}$"
          }
        }
      },
      "CustomerServiceRecordPhoneNumberCoverage": {
        "type": "object",
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number that is being verified.",
            "example": "+12223334444"
          },
          "has_csr_coverage": {
            "type": "boolean",
            "description": "Indicates whether the phone number is covered or not.",
            "example": true
          },
          "reason": {
            "type": "string",
            "description": "The reason why the phone number is not covered. Only returned if `has_csr_coverage` is false.",
            "example": "The phone number '+19999999999' is invalid."
          },
          "additional_data_required": {
            "type": "array",
            "description": "Additional data required to perform CSR for the phone number. Only returned if `has_csr_coverage` is true.",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "authorized_person_name",
                "account_number",
                "customer_code",
                "pin",
                "address_line_1",
                "city",
                "state",
                "zip_code",
                "billing_phone_number"
              ],
              "example": "name"
            }
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "customer_service_record_phone_number_coverage"
          }
        }
      },
      "DTMFTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "send_dtmf"
            ]
          },
          "send_dtmf": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object",
        "required": [
          "type",
          "send_dtmf"
        ],
        "title": "DTMFTool"
      },
      "DateTimeRFC2822": {
        "type": "string",
        "format": "date-time",
        "example": "2023-08-11T19:12:11Z"
      },
      "DeepgramNova2Config": {
        "type": "object",
        "title": "DeepgramNova2Config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Deepgram"
            ]
          },
          "transcription_model": {
            "type": "string",
            "enum": [
              "deepgram/nova-2"
            ]
          },
          "interim_results": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to send also interim results. If set to false, only final results will be sent."
          },
          "utterance_end_ms": {
            "type": "integer",
            "default": 1000,
            "example": 800,
            "minimum": 0,
            "maximum": 5000,
            "description": "Number of milliseconds of silence to consider an utterance ended. Ranges from 0 to 5000 ms."
          },
          "language": {
            "$ref": "#/components/schemas/DeepgramNova2TranscriptionLanguage"
          },
          "keywords_boosting": {
            "type": "object",
            "description": "Keywords and their respective intensifiers (boosting values) to improve transcription accuracy for specific words or phrases. The intensifier should be a numeric value. Example: `{\"snuffleupagus\": 5, \"systrom\": 2, \"krieger\": 1}`.",
            "additionalProperties": {
              "type": "number",
              "description": "Boost intensifier for the keyword. Higher values increase recognition confidence."
            },
            "default": null,
            "example": {
              "snuffleupagus": 5,
              "systrom": 2,
              "krieger": 1
            }
          }
        },
        "required": [
          "transcription_engine",
          "transcription_model"
        ],
        "example": {
          "transcription_engine": "Deepgram",
          "transcription_model": "deepgram/nova-2",
          "language": "en",
          "keywords_boosting": {
            "snuffleupagus": 5,
            "systrom": 2,
            "krieger": 1
          }
        }
      },
      "DeepgramNova2TranscriptionLanguage": {
        "title": "Deepgram nova-2 transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition with nova-2 model",
        "example": "en",
        "default": "en",
        "enum": [
          "bg",
          "ca",
          "zh",
          "zh-CN",
          "zh-Hans",
          "zh-TW",
          "zh-Hant",
          "zh-HK",
          "cs",
          "da",
          "da-DK",
          "nl",
          "en",
          "en-US",
          "en-AU",
          "en-GB",
          "en-NZ",
          "en-IN",
          "et",
          "fi",
          "nl-BE",
          "fr",
          "fr-CA",
          "de",
          "de-CH",
          "el",
          "hi",
          "hu",
          "id",
          "it",
          "ja",
          "ko",
          "ko-KR",
          "lv",
          "lt",
          "ms",
          "no",
          "pl",
          "pt",
          "pt-BR",
          "pt-PT",
          "ro",
          "ru",
          "sk",
          "es",
          "es-419",
          "sv",
          "sv-SE",
          "th",
          "th-TH",
          "tr",
          "uk",
          "vi",
          "auto_detect"
        ]
      },
      "DeepgramNova3Config": {
        "type": "object",
        "title": "DeepgramNova3Config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Deepgram"
            ]
          },
          "transcription_model": {
            "type": "string",
            "enum": [
              "deepgram/nova-3"
            ]
          },
          "interim_results": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to send also interim results. If set to false, only final results will be sent."
          },
          "utterance_end_ms": {
            "type": "integer",
            "default": 1000,
            "example": 800,
            "minimum": 0,
            "maximum": 5000,
            "description": "Number of milliseconds of silence to consider an utterance ended. Ranges from 0 to 5000 ms."
          },
          "language": {
            "$ref": "#/components/schemas/DeepgramNova3TranscriptionLanguage"
          },
          "keywords_boosting": {
            "type": "object",
            "description": "Keywords and their respective intensifiers (boosting values) to improve transcription accuracy for specific words or phrases. The intensifier should be a numeric value. Example: `{\"snuffleupagus\": 5, \"systrom\": 2, \"krieger\": 1}`.",
            "additionalProperties": {
              "type": "number",
              "description": "Boost intensifier for the keyword. Higher values increase recognition confidence."
            },
            "default": null,
            "example": {
              "snuffleupagus": 5,
              "systrom": 2,
              "krieger": 1
            }
          }
        },
        "required": [
          "transcription_engine",
          "transcription_model"
        ],
        "example": {
          "transcription_engine": "Deepgram",
          "transcription_model": "deepgram/nova-3",
          "language": "en",
          "keywords_boosting": {
            "snuffleupagus": 5,
            "systrom": 2,
            "krieger": 1
          }
        }
      },
      "DeepgramNova3TranscriptionLanguage": {
        "title": "Deepgram nova-3 transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition with nova-3 model",
        "example": "en",
        "default": "en",
        "enum": [
          "en",
          "en-US",
          "en-AU",
          "en-GB",
          "en-IN",
          "en-NZ",
          "de",
          "nl",
          "sv",
          "sv-SE",
          "da",
          "da-DK",
          "es",
          "es-419",
          "fr",
          "fr-CA",
          "pt",
          "pt-BR",
          "pt-PT",
          "auto_detect"
        ]
      },
      "DefaultGateway": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "type": "object",
            "title": "DefaultGateway",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "default_gateway"
              },
              "network_id": {
                "type": "string",
                "format": "uuid",
                "description": "Network ID.",
                "readOnly": true,
                "example": "e66c496d-4a85-423b-8b2a-8e63fac20320"
              },
              "wireguard_peer_id": {
                "type": "string",
                "format": "uuid",
                "description": "Wireguard peer ID.",
                "example": "e66c496d-4a85-423b-8b2a-8e63fac20320"
              },
              "status": {
                "$ref": "#/components/schemas/InterfaceStatus"
              }
            }
          }
        ]
      },
      "DetailRecord": {
        "type": "object",
        "description": "An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records",
        "oneOf": [
          {
            "$ref": "#/components/schemas/MessageDetailRecord",
            "title": "Message"
          },
          {
            "$ref": "#/components/schemas/ConferenceDetailRecord",
            "title": "Conference"
          },
          {
            "$ref": "#/components/schemas/ConferenceParticipantDetailRecord",
            "title": "Conference Participant"
          },
          {
            "$ref": "#/components/schemas/AmdDetailRecord",
            "title": "AMD"
          },
          {
            "$ref": "#/components/schemas/VerifyDetailRecord",
            "title": "Verify 2FA"
          },
          {
            "$ref": "#/components/schemas/SimCardUsageDetailRecord",
            "title": "Sim Card Usage"
          },
          {
            "$ref": "#/components/schemas/MediaStorageDetailRecord",
            "title": "Media Storage"
          }
        ],
        "required": [
          "record_type"
        ],
        "discriminator": {
          "propertyName": "record_type"
        }
      },
      "DetailRecordsSearchResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetailRecord"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/detail-records_PaginationMeta"
          }
        }
      },
      "DeveloperMessage": {
        "type": "object",
        "title": "Developer Message",
        "description": "Developer-provided instructions that the model should follow, regardless of messages sent by the user.",
        "properties": {
          "role": {
            "description": "The role of the messages author, in this case developer.",
            "type": "string",
            "enum": [
              "developer"
            ]
          },
          "content": {
            "description": "The contents of the developer message.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          }
        },
        "required": [
          "role",
          "content"
        ],
        "example": {
          "role": "developer",
          "content": "Get the user's favorite color"
        }
      },
      "DialConferenceParticipantRequest": {
        "type": "object",
        "title": "Create Conference Participant Request",
        "properties": {
          "Beep": {
            "description": "Whether to play a notification beep to the conference when the participant enters and exits.",
            "example": "onExit",
            "type": "string",
            "enum": [
              "true",
              "false",
              "onEnter",
              "onExit"
            ]
          },
          "StatusCallback": {
            "description": "URL destination for Telnyx to send status callback events to for the call.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "StatusCallbackMethod": {
            "description": "HTTP request type used for `StatusCallback`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "StatusCallbackEvent": {
            "description": "The changes to the call's state that should generate a call to `StatusCallback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.",
            "example": "answered completed",
            "type": "string"
          },
          "To": {
            "description": "The phone number of the called party. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "From": {
            "description": "The phone number of the party that initiated the call. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "Timeout": {
            "description": "The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between 5 and 120, inclusive. The default value is 30.",
            "example": 30,
            "type": "integer",
            "x-stainless-param": "timeout_seconds"
          },
          "Muted": {
            "description": "Whether the participant should be muted.",
            "example": true,
            "type": "boolean"
          },
          "StartConferenceOnEnter": {
            "description": "Whether to start the conference when the participant enters. Defaults to `true`.",
            "example": false,
            "type": "boolean"
          },
          "EndConferenceOnExit": {
            "description": "Whether to end the conference when the participant leaves. Defaults to `false`.",
            "example": true,
            "type": "boolean"
          },
          "Label": {
            "description": "A unique label for the participant that will be added to the conference. The label can be used to reference the participant for updates via the TeXML REST API.",
            "example": "customer",
            "type": "string"
          },
          "EarlyMedia": {
            "description": "Whether participant shall be bridged to conference before the participant answers (from early media if available). Defaults to `false`.",
            "example": true,
            "type": "boolean",
            "default": false
          },
          "ConferenceStatusCallback": {
            "description": "The URL the conference callbacks will be sent to.",
            "example": "https://example.com/conference_status_callback",
            "type": "string"
          },
          "ConferenceStatusCallbackMethod": {
            "description": "HTTP request type used for `ConferenceStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "ConferenceStatusCallbackEvent": {
            "description": "The changes to the conference's state that should generate a call to `ConferenceStatusCallback`. Can be: `start`, `end`, `join` and `leave`. Separate multiple values with a space. By default no callbacks are sent.",
            "example": "start end join leave",
            "type": "string"
          },
          "WaitUrl": {
            "description": "The URL to call for an audio file to play while the participant is waiting for the conference to start.",
            "example": "https://www.example.com/wait_music.mp3",
            "type": "string"
          },
          "MaxParticipants": {
            "description": "The maximum number of participants in the conference. Can be a positive integer from 2 to 800. The default value is 250.",
            "example": 30,
            "type": "integer"
          },
          "Coaching": {
            "description": "Whether the participant is coaching another call. When `true`, `CallSidToCoach` has to be given.",
            "example": false,
            "type": "boolean"
          },
          "CallSidToCoach": {
            "description": "The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
            "type": "string"
          },
          "CallerId": {
            "description": "To be used as the caller id name (SIP From Display Name) presented to the destination (`To` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and `-_~!.+` special characters. If ommited, the display name will be the same as the number in the `From` field.",
            "example": "Info",
            "type": "string"
          },
          "TimeLimit": {
            "description": "The maximum duration of the call in seconds.",
            "example": 30,
            "type": "integer"
          },
          "MachineDetection": {
            "description": "Whether to detect if a human or an answering machine picked up the call. Use `Enable` if you would like to ne notified as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine.",
            "example": "Enable",
            "type": "string",
            "enum": [
              "Enable",
              "DetectMessageEnd"
            ]
          },
          "MachineDetectionTimeout": {
            "description": "How long answering machine detection should go on for before sending an `Unknown` result. Given in milliseconds.",
            "example": 1000,
            "type": "integer"
          },
          "MachineDetectionSpeechThreshold": {
            "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "MachineDetectionSpeechEndThreshold": {
            "description": "Silence duration threshold after a greeting message or voice for it be considered human. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 800,
            "type": "integer"
          },
          "MachineDetectionSilenceTimeout": {
            "description": "If initial silence duration is greater than this value, consider it a machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "AmdStatusCallback": {
            "description": "The URL the result of answering machine detection will be sent to.",
            "example": "https://www.example.com/amd_result",
            "type": "string"
          },
          "AmdStatusCallbackMethod": {
            "description": "HTTP request type used for `AmdStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "ApplicationSid": {
            "description": "The SID of the TeXML application that will handle the new participant's call. Required unless joining an existing conference by its ConferenceSid.",
            "example": "1846572522338780702",
            "type": "string"
          },
          "CancelPlaybackOnMachineDetection": {
            "description": "Whether to cancel ongoing playback on `machine` detection. Defaults to `true`.",
            "default": true,
            "example": false,
            "type": "boolean"
          },
          "CancelPlaybackOnDetectMessageEnd": {
            "description": "Whether to cancel ongoing playback on `greeting ended` detection. Defaults to `true`.",
            "default": true,
            "example": false,
            "type": "boolean"
          },
          "PreferredCodecs": {
            "description": "The list of comma-separated codecs to be offered on a call.",
            "example": "PCMA,PCMU",
            "type": "string"
          },
          "Record": {
            "description": "Whether to record the entire participant's call leg. Defaults to `false`.",
            "example": false,
            "type": "boolean"
          },
          "RecordingChannels": {
            "description": "The number of channels in the final recording. Defaults to `mono`.",
            "example": "dual",
            "type": "string",
            "enum": [
              "mono",
              "dual"
            ]
          },
          "RecordingStatusCallback": {
            "description": "The URL the recording callbacks will be sent to.",
            "example": "https://example.com/recording_status_callback",
            "type": "string"
          },
          "RecordingStatusCallbackMethod": {
            "description": "HTTP request type used for `RecordingStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "RecordingStatusCallbackEvent": {
            "description": "The changes to the recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`.",
            "example": "in-progress completed absent",
            "type": "string"
          },
          "RecordingTrack": {
            "description": "The audio track to record for the call. The default is `both`.",
            "example": "inbound",
            "type": "string",
            "enum": [
              "inbound",
              "outbound",
              "both"
            ]
          },
          "SipAuthPassword": {
            "description": "The password to use for SIP authentication.",
            "example": "1234",
            "type": "string"
          },
          "SipAuthUsername": {
            "description": "The username to use for SIP authentication.",
            "example": "user",
            "type": "string"
          },
          "Trim": {
            "description": "Whether to trim any leading and trailing silence from the recording. Defaults to `trim-silence`.",
            "example": "trim-silence",
            "type": "string",
            "enum": [
              "trim-silence",
              "do-not-trim"
            ]
          },
          "ConferenceRecord": {
            "description": "Whether to record the conference the participant is joining. Defualts to `do-not-record`. The boolean values `true` and `false` are synonymous with `record-from-start` and `do-not-record` respectively.",
            "example": "record-from-start",
            "type": "string",
            "enum": [
              "true",
              "false",
              "record-from-start",
              "do-not-record"
            ]
          },
          "ConferenceRecordingStatusCallback": {
            "description": "The URL the conference recording callbacks will be sent to.",
            "example": "https://example.com/conference_recording_status_callback",
            "type": "string"
          },
          "ConferenceRecordingStatusCallbackMethod": {
            "description": "HTTP request type used for `ConferenceRecordingStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "ConferenceRecordingStatusCallbackEvent": {
            "description": "The changes to the conference recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`. `failed` and `absent` are synonymous.",
            "example": "in-progress completed failed absent",
            "type": "string"
          },
          "ConferenceRecordingTimeout": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that the transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite)",
            "example": 5,
            "type": "integer",
            "default": 0
          },
          "ConferenceTrim": {
            "description": "Whether to trim any leading and trailing silence from the conference recording. Defaults to `trim-silence`.",
            "example": "trim-silence",
            "type": "string",
            "enum": [
              "trim-silence",
              "do-not-trim"
            ]
          },
          "CustomHeaders": {
            "description": "Custom HTTP headers to be sent with the call. Each header should be an object with 'name' and 'value' properties.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the custom header"
                },
                "value": {
                  "type": "string",
                  "description": "The value of the custom header"
                }
              },
              "required": [
                "name",
                "value"
              ]
            },
            "example": [
              {
                "name": "X-Custom-Header",
                "value": "custom-value"
              }
            ]
          }
        },
        "example": {
          "To": "+12065550100",
          "From": "+12065550200"
        }
      },
      "DialogflowConfig": {
        "type": "object",
        "title": "Dialogflow Config",
        "properties": {
          "analyze_sentiment": {
            "description": "Enable sentiment analysis from Dialogflow.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "partial_automated_agent_reply": {
            "description": "Enable partial automated agent reply from Dialogflow.",
            "type": "boolean",
            "example": true,
            "default": false
          }
        }
      },
      "DialogflowConnection": {
        "type": "object",
        "title": "Dialogflow Connection Params",
        "required": [
          "service_account"
        ],
        "properties": {
          "service_account": {
            "description": "The JSON map to connect your Dialoglow account.",
            "type": "object",
            "additionalProperties": true
          },
          "dialogflow_api": {
            "description": "Determine which Dialogflow will be used.",
            "type": "string",
            "enum": [
              "cx",
              "es"
            ],
            "example": "cx",
            "default": "es"
          },
          "conversation_profile_id": {
            "description": "The id of a configured conversation profile on your Dialogflow account. (If you use Dialogflow CX, this param is required)",
            "type": "string",
            "example": "a-VMHLWzTmKjiJw5S6O0-w"
          },
          "location": {
            "description": "The region of your agent is. (If you use Dialogflow CX, this param is required)",
            "type": "string",
            "example": "global"
          },
          "environment": {
            "description": "Which Dialogflow environment will be used.",
            "type": "string",
            "example": "development"
          }
        },
        "example": {
          "service_account": {
            "type": "service_account",
            "project_id": "your-project-id",
            "private_key_id": "your-private-key",
            "private_key": "-----BEGIN PRIVATE KEY-----\n-----END PRIVATE KEY-----",
            "client_email": "example@example.com",
            "client_id": "your-client-id",
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token",
            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40example.iam.gserviceaccount.com"
          },
          "dialogflow_api": "cx",
          "conversation_profile_id": "a-VMHLWzTmKjiJw5S6O0-w",
          "location": "global",
          "environment": "development"
        }
      },
      "DialogflowConnectionResponse": {
        "type": "object",
        "title": "Dialogflow Connection Response",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "title": "Dialogflow Connection",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "dialogflow_connections"
              },
              "connection_id": {
                "type": "string",
                "example": "1234541231",
                "description": "Uniquely identifies a Telnyx application (Call Control)."
              },
              "conversation_profile_id": {
                "type": "string",
                "description": "The id of a configured conversation profile on your Dialogflow account. (If you use Dialogflow CX, this param is required)",
                "example": "a-VMHLWzTmKjiJw5S6O0-w"
              },
              "environment": {
                "type": "string",
                "description": "Which Dialogflow environment will be used.",
                "example": "development"
              },
              "service_account": {
                "type": "string",
                "description": "The JSON map to connect your Dialoglow account.",
                "example": "****"
              }
            }
          }
        }
      },
      "Direction": {
        "description": "The direction of the fax.",
        "type": "string",
        "example": "outbound",
        "enum": [
          "inbound",
          "outbound"
        ]
      },
      "DocReqsRequirement": {
        "type": "object",
        "properties": {
          "record_type": {
            "description": "Identifies the type of the resource.",
            "type": "string",
            "readOnly": true,
            "example": "requirement"
          },
          "country_code": {
            "description": "The 2-character (ISO 3166-1 alpha-2) country code where this requirement applies",
            "type": "string",
            "readOnly": false,
            "example": "FR"
          },
          "locality": {
            "description": "The locality where this requirement applies",
            "type": "string",
            "readOnly": false,
            "example": "Nice"
          },
          "phone_number_type": {
            "description": "Indicates the phone_number_type this requirement applies to. Leave blank if this requirement applies to all number_types.",
            "type": "string",
            "enum": [
              "local",
              "national",
              "toll_free"
            ],
            "example": "local",
            "readOnly": false
          },
          "action": {
            "description": "Indicates whether this requirement applies to branded_calling, ordering, porting, or both ordering and porting",
            "type": "string",
            "enum": [
              "both",
              "branded_calling",
              "ordering",
              "porting"
            ],
            "example": "ordering",
            "readOnly": false
          },
          "requirements_types": {
            "description": "Lists the requirement types necessary to fulfill this requirement",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocReqsRequirementType"
            },
            "readOnly": true
          },
          "id": {
            "description": "Identifies the associated document",
            "type": "string",
            "format": "uuid",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2021-04-09T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was last updated.",
            "readOnly": true,
            "example": "2021-04-12T20:20:20.020Z"
          }
        }
      },
      "DocReqsRequirementList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DocReqsRequirement"
        }
      },
      "DocReqsRequirementType": {
        "type": "object",
        "properties": {
          "acceptance_criteria": {
            "description": "Specifies objective criteria for acceptance",
            "type": "object",
            "properties": {
              "time_limit": {
                "description": "Specifies time-based acceptance criteria",
                "example": "Current and not expired",
                "type": "string",
                "readOnly": false
              },
              "locality_limit": {
                "description": "Specifies geography-based acceptance criteria",
                "example": "Issued by the same country that the phone number belongs to",
                "type": "string",
                "readOnly": false
              },
              "acceptable_values": {
                "description": "Specifies the list of strictly possible values for the requirement. Ignored when empty",
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "US"
                },
                "readOnly": false
              },
              "max_length": {
                "description": "Maximum length allowed for the value",
                "type": "integer",
                "example": 20,
                "readOnly": false
              },
              "min_length": {
                "description": "Minimum length allowed for the value",
                "type": "integer",
                "example": 16,
                "readOnly": false
              },
              "acceptable_characters": {
                "description": "Specifies the allowed characters as a string",
                "type": "string",
                "example": "abcdef0123456789",
                "readOnly": false
              }
            }
          },
          "description": {
            "description": "Describes the requirement type",
            "example": "Proves the customer has a physical address in the same locality as the phone number",
            "type": "string",
            "readOnly": false
          },
          "example": {
            "description": "Provides one or more examples of acceptable documents",
            "example": "Utility bill, internet bill, phone bill, or lease",
            "type": "string",
            "readOnly": false
          },
          "type": {
            "description": "Defines the type of this requirement type",
            "example": "document",
            "type": "string",
            "enum": [
              "document",
              "address",
              "textual"
            ],
            "readOnly": false
          },
          "name": {
            "description": "A short descriptive name for this requirement_type",
            "example": "Proof of Address",
            "type": "string",
            "readOnly": true
          },
          "record_type": {
            "description": "Identifies the type of the resource",
            "example": "requirement_type",
            "type": "string",
            "readOnly": true
          },
          "id": {
            "description": "Identifies the associated document",
            "type": "string",
            "format": "uuid",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2021-04-09T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was last updated.",
            "readOnly": true,
            "example": "2021-04-12T20:20:20.020Z"
          }
        }
      },
      "DocReqsRequirementTypeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DocReqsRequirementType"
        }
      },
      "DocServiceDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocServiceRecord"
          },
          {
            "type": "object",
            "properties": {
              "record_type": {
                "description": "Identifies the type of the resource.",
                "type": "string",
                "readOnly": true,
                "example": "document"
              },
              "content_type": {
                "description": "The document's content_type.",
                "type": "string",
                "readOnly": true,
                "example": "application/pdf"
              },
              "size": {
                "description": "Indicates the document's filesize",
                "type": "object",
                "readOnly": true,
                "properties": {
                  "unit": {
                    "description": "Identifies the unit",
                    "type": "string",
                    "readOnly": true,
                    "example": "bytes"
                  },
                  "amount": {
                    "description": "The number of bytes",
                    "type": "integer",
                    "readOnly": true,
                    "example": 123456
                  }
                }
              },
              "status": {
                "type": "string",
                "description": "Indicates the current document reviewing status",
                "readOnly": true,
                "enum": [
                  "pending",
                  "verified",
                  "denied"
                ],
                "example": "pending"
              },
              "sha256": {
                "description": "The document's SHA256 hash provided for optional verification purposes.",
                "type": "string",
                "readOnly": true,
                "example": "08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"
              },
              "filename": {
                "description": "The filename of the document.",
                "type": "string",
                "example": "test-document.pdf"
              },
              "customer_reference": {
                "type": "string",
                "description": "Optional reference string for customer tracking.",
                "example": "MY REF 001"
              },
              "av_scan_status": {
                "type": "string",
                "description": "The antivirus scan status of the document.",
                "readOnly": true,
                "enum": [
                  "scanned",
                  "infected",
                  "pending_scan",
                  "not_scanned"
                ],
                "example": "scanned"
              }
            }
          }
        ]
      },
      "DocServiceDocumentLink": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocServiceRecord"
          },
          {
            "type": "object",
            "properties": {
              "record_type": {
                "description": "Identifies the type of the resource.",
                "type": "string",
                "readOnly": true,
                "example": "document_link"
              },
              "document_id": {
                "description": "Identifies the associated document.",
                "type": "string",
                "format": "uuid",
                "readOnly": true,
                "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
              },
              "linked_record_type": {
                "description": "The linked resource's record type.",
                "type": "string",
                "readOnly": true,
                "example": "porting_order"
              },
              "linked_resource_id": {
                "description": "Identifies the linked resource.",
                "type": "string",
                "readOnly": true,
                "example": "132091b4-442b-4a2a-b87f-61e707e46d54"
              }
            }
          }
        ]
      },
      "DocServiceRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "sample_record_type"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "DownlinkData": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Downlink data",
            "example": 1
          },
          "unit": {
            "description": "Transmission unit",
            "type": "string",
            "enum": [
              "B",
              "KB",
              "MB"
            ],
            "default": "MB"
          }
        }
      },
      "DtmfType": {
        "title": "DTMF Type",
        "type": "string",
        "description": "Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.",
        "enum": [
          "RFC 2833",
          "Inband",
          "SIP INFO"
        ],
        "default": "RFC 2833",
        "example": "Inband"
      },
      "DynamicEmergencyAddress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f1",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "dynamic_emergency_address"
          },
          "sip_geolocation_id": {
            "type": "string",
            "description": "Unique location reference string to be used in SIP INVITE from / p-asserted headers.",
            "example": "XYZ123",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Status of dynamic emergency address",
            "readOnly": true,
            "enum": [
              "pending",
              "activated",
              "rejected"
            ],
            "example": "pending"
          },
          "house_number": {
            "type": "string",
            "example": "600"
          },
          "house_suffix": {
            "type": "string"
          },
          "street_pre_directional": {
            "type": "string"
          },
          "street_name": {
            "type": "string",
            "example": "Congress"
          },
          "street_suffix": {
            "type": "string",
            "example": "St"
          },
          "street_post_directional": {
            "type": "string"
          },
          "extended_address": {
            "type": "string"
          },
          "locality": {
            "type": "string",
            "example": "Austin"
          },
          "administrative_area": {
            "type": "string",
            "example": "TX"
          },
          "postal_code": {
            "type": "string",
            "example": "78701"
          },
          "country_code": {
            "type": "string",
            "example": "US",
            "enum": [
              "US",
              "CA",
              "PR"
            ]
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was created",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was last updated",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "required": [
          "house_number",
          "street_name",
          "locality",
          "administrative_area",
          "postal_code",
          "country_code"
        ]
      },
      "DynamicEmergencyEndpoint": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "dynamic_emergency_endpoint"
          },
          "dynamic_emergency_address_id": {
            "type": "string",
            "description": "An id of a currently active dynamic emergency location.",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "status": {
            "type": "string",
            "description": "Status of dynamic emergency address",
            "readOnly": true,
            "enum": [
              "pending",
              "activated",
              "rejected"
            ],
            "example": "pending"
          },
          "sip_from_id": {
            "type": "string",
            "example": "FXDFWEDF",
            "readOnly": true
          },
          "callback_number": {
            "type": "string",
            "example": "+13125550000"
          },
          "caller_name": {
            "type": "string",
            "example": "Jane Doe Desk Phone"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was created",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the resource was last updated",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "required": [
          "dynamic_emergency_address_id",
          "callback_number",
          "caller_name"
        ]
      },
      "ESimPurchase": {
        "title": "SIMCardRegistration",
        "type": "object",
        "properties": {
          "sim_card_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "The group SIMCardGroup identification. This attribute can be <code>null</code> when it's present in an associated resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "tags": {
            "type": "array",
            "description": "Searchable tags associated with the SIM cards",
            "items": {
              "type": "string"
            },
            "example": [
              "personal",
              "customers",
              "active-customers"
            ]
          },
          "product": {
            "type": "string",
            "description": "Type of product to be purchased, specify \"whitelabel\" to use a custom SPN",
            "example": "whitelabel"
          },
          "whitelabel_name": {
            "type": "string",
            "description": "Service Provider Name (SPN) for the Whitelabel eSIM product. It will be displayed as the mobile service name by operating systems of smartphones. This parameter must only contain letters, numbers and whitespaces.",
            "example": "Custom SPN"
          },
          "amount": {
            "type": "integer",
            "description": "The amount of eSIMs to be purchased.",
            "example": 10,
            "minimum": 1
          },
          "status": {
            "type": "string",
            "description": "Status on which the SIM cards will be set after being successfully registered.",
            "enum": [
              "enabled",
              "disabled",
              "standby"
            ],
            "example": "standby",
            "default": "enabled"
          }
        },
        "required": [
          "amount"
        ]
      },
      "ElevenLabsProviderParams": {
        "type": "object",
        "description": "ElevenLabs provider-specific parameters.",
        "properties": {
          "language_code": {
            "type": "string",
            "description": "Language code."
          },
          "api_key": {
            "type": "string",
            "description": "Custom ElevenLabs API key. If not provided, the default Telnyx key is used."
          },
          "voice_settings": {
            "type": "object",
            "description": "ElevenLabs voice settings (stability, similarity_boost, etc.).",
            "additionalProperties": true
          }
        }
      },
      "ElevenLabsVoiceSettings": {
        "type": "object",
        "title": "ElevenLabs Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "elevenlabs"
            ],
            "description": "Voice settings provider type"
          },
          "api_key_ref": {
            "description": "The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.",
            "type": "string",
            "example": "my_elevenlabs_api_key"
          }
        },
        "required": [
          "type"
        ]
      },
      "EligibilityNumberResponse": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "description": "Detailed information about the eligibility status."
          },
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "eligible": {
            "type": "boolean",
            "description": "Whether the phone number is eligible for hosted messaging."
          },
          "eligible_status": {
            "type": "string",
            "description": "The eligibility status of the phone number.",
            "enum": [
              "NUMBER_CAN_NOT_BE_REPEATED",
              "NUMBER_CAN_NOT_BE_VALIDATED",
              "NUMBER_CAN_NOT_BE_WIRELESS",
              "NUMBER_CAN_NOT_BE_ACTIVE_IN_YOUR_ACCOUNT",
              "NUMBER_CAN_NOT_HOSTED_WITH_A_TELNYX_SUBSCRIBER",
              "NUMBER_CAN_NOT_BE_IN_TELNYX",
              "NUMBER_IS_NOT_A_US_NUMBER",
              "NUMBER_IS_NOT_A_VALID_ROUTING_NUMBER",
              "NUMBER_IS_NOT_IN_E164_FORMAT",
              "BILLING_ACCOUNT_CHECK_FAILED",
              "BILLING_ACCOUNT_IS_ABOLISHED",
              "ELIGIBLE"
            ]
          }
        }
      },
      "EligibilityNumbersRequest": {
        "type": "object",
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164",
              "description": "Phone number to check eligibility"
            },
            "description": "List of phone numbers to check eligibility"
          }
        },
        "required": [
          "phone_numbers"
        ]
      },
      "EligibilityNumbersResponse": {
        "type": "object",
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EligibilityNumberResponse"
            },
            "description": "List of phone numbers with their eligibility status."
          }
        }
      },
      "EmbeddingBucketRequest": {
        "properties": {
          "bucket_name": {
            "type": "string",
            "title": "Bucket Name"
          },
          "document_chunk_size": {
            "type": "integer",
            "title": "Document Chunk Size",
            "default": 1024
          },
          "document_chunk_overlap_size": {
            "type": "integer",
            "title": "Document Chunk Overlap Size",
            "default": 512
          },
          "embedding_model": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportedEmbeddingModels"
              }
            ],
            "default": "thenlper/gte-large"
          },
          "loader": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportedEmbeddingLoaders"
              }
            ],
            "default": "default"
          }
        },
        "type": "object",
        "required": [
          "bucket_name"
        ],
        "title": "EmbeddingBucketRequest"
      },
      "EmbeddingMetadata": {
        "properties": {
          "source": {
            "type": "string",
            "title": "Source"
          },
          "checksum": {
            "type": "string",
            "title": "Checksum"
          },
          "embedding": {
            "type": "string",
            "title": "Embedding"
          },
          "filename": {
            "type": "string",
            "title": "Filename"
          },
          "certainty": {
            "type": "number",
            "title": "Certainty"
          },
          "loader_metadata": {
            "type": "object",
            "title": "Loader Metadata",
            "additionalProperties": true
          }
        },
        "type": "object",
        "required": [
          "source",
          "checksum",
          "embedding",
          "filename"
        ],
        "title": "EmbeddingMetadata"
      },
      "EmbeddingResponse": {
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "task_id": {
                "type": "string",
                "format": "uuid",
                "title": "Task ID"
              },
              "task_name": {
                "type": "string",
                "title": "Task Name"
              },
              "status": {
                "type": "string",
                "title": "Status"
              },
              "created_at": {
                "type": "string",
                "title": "Created At"
              },
              "finished_at": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Finished At"
              },
              "user_id": {
                "type": "string",
                "format": "uuid",
                "title": "User ID"
              }
            }
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "EmbeddingResponse"
      },
      "EmbeddingSimilaritySearchDocument": {
        "properties": {
          "document_chunk": {
            "type": "string",
            "title": "Document Chunk"
          },
          "distance": {
            "type": "number",
            "title": "Distance"
          },
          "metadata": {
            "$ref": "#/components/schemas/EmbeddingMetadata"
          }
        },
        "type": "object",
        "required": [
          "document_chunk",
          "distance",
          "metadata"
        ],
        "title": "EmbeddingSimilaritySearchDocument",
        "description": "Example document response from embedding service\n{\n  \"document_chunk\": \"your status? This is Vanessa Bloome...\",\n  \"distance\": 0.18607724,\n  \"metadata\": {\n    \"source\": \"https://us-central-1.telnyxstorage.com/scripts/bee_movie_script.txt\",\n    \"checksum\": \"343054dd19bab39bbf6761a3d20f1daa\",\n    \"embedding\": \"openai/text-embedding-ada-002\",\n    \"filename\": \"bee_movie_script.txt\",\n    \"certainty\": 0.9069613814353943,\n    \"loader_metadata\": {}\n  }\n}"
      },
      "EmbeddingSimilaritySearchRequest": {
        "properties": {
          "bucket_name": {
            "type": "string",
            "title": "Bucket Name"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "num_of_docs": {
            "type": "integer",
            "title": "Num Of Docs",
            "default": 3
          }
        },
        "type": "object",
        "required": [
          "bucket_name",
          "query"
        ],
        "title": "EmbeddingSimilaritySearchRequest"
      },
      "EmbeddingSimilaritySearchResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EmbeddingSimilaritySearchDocument"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "EmbeddingSimilaritySearchResponse"
      },
      "EmbeddingUrlRequest": {
        "properties": {
          "url": {
            "type": "string",
            "title": "URL",
            "description": "The URL of the webpage to embed"
          },
          "bucket_name": {
            "type": "string",
            "title": "Bucket Name",
            "description": "Name of the bucket to store the embeddings. This bucket must already exist."
          }
        },
        "type": "object",
        "required": [
          "url",
          "bucket_name"
        ],
        "title": "EmbeddingUrlRequest"
      },
      "EmbeddingsBucketFiles": {
        "properties": {
          "filename": {
            "type": "string",
            "title": "Filename"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "last_embedded_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Embedded At"
          },
          "error_reason": {
            "type": "string",
            "title": "Error Reason"
          }
        },
        "type": "object",
        "required": [
          "filename",
          "status",
          "created_at"
        ],
        "title": "EmbeddingsBucketFiles"
      },
      "EmbeddingsBucketFilesData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EmbeddingsBucketFiles"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "EmbeddingsBucketFilesData"
      },
      "EmergencySettings": {
        "description": "The emergency services settings for a phone number.",
        "type": "object",
        "properties": {
          "emergency_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Allows you to enable or disable emergency services on the phone number. In order to enable emergency services, you must also set an emergency_address_id."
          },
          "emergency_address_id": {
            "type": "string",
            "description": "Identifies the address to be used with emergency services."
          },
          "emergency_status": {
            "type": "string",
            "description": "Represents the state of the number regarding emergency activation.",
            "default": "disabled",
            "enum": [
              "disabled",
              "active",
              "provisioning",
              "deprovisioning",
              "provisioning-failed"
            ]
          }
        },
        "example": {
          "emergency_enabled": true,
          "emergency_address_id": "1315261609962112019",
          "emergency_status": "active"
        }
      },
      "EnabledFeatures": {
        "type": "string",
        "enum": [
          "telephony",
          "messaging"
        ],
        "description": "If `telephony` is enabled, the assistant will be able to make and receive calls. If `messaging` is enabled, the assistant will be able to send and receive messages."
      },
      "EncryptedMedia": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          "SRTP",
          null
        ],
        "example": "SRTP",
        "description": "Enable use of SRTP for encryption. Cannot be set if the transport_portocol is TLS."
      },
      "EndConferenceRequest": {
        "type": "object",
        "title": "End Conference Request",
        "properties": {
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same conference.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {}
      },
      "EnqueueRequest": {
        "type": "object",
        "title": "Enqueue Request",
        "required": [
          "queue_name"
        ],
        "properties": {
          "queue_name": {
            "description": "The name of the queue the call should be put in. If a queue with a given name doesn't exist yet it will be created.",
            "type": "string",
            "example": "tier_1_support"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "max_wait_time_secs": {
            "description": "The number of seconds after which the call will be removed from the queue.",
            "type": "integer",
            "example": 600
          },
          "max_size": {
            "description": "The maximum number of calls allowed in the queue at a given time. Can't be modified for an existing queue.",
            "type": "integer",
            "default": 100,
            "example": 200
          },
          "keep_after_hangup": {
            "type": "boolean",
            "description": "If set to true, the call will remain in the queue after hangup. In this case bridging to such call will fail with necessary information needed to re-establish the call.",
            "default": false,
            "example": true
          }
        },
        "example": {
          "queue_name": "support",
          "max_wait_time_secs": 600,
          "max_size": 20,
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "EnterpriseCreate": {
        "type": "object",
        "required": [
          "legal_name",
          "doing_business_as",
          "organization_type",
          "country_code",
          "website",
          "fein",
          "industry",
          "number_of_employees",
          "organization_legal_type",
          "organization_contact",
          "billing_contact",
          "organization_physical_address",
          "billing_address"
        ],
        "properties": {
          "legal_name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "description": "Legal name of the enterprise",
            "example": "Acme Corp Inc."
          },
          "doing_business_as": {
            "type": "string",
            "maxLength": 255,
            "description": "Primary business name / DBA name",
            "example": "Acme"
          },
          "organization_type": {
            "type": "string",
            "enum": [
              "commercial",
              "government",
              "non_profit"
            ],
            "description": "Type of organization",
            "example": "commercial"
          },
          "country_code": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Country code. Currently only 'US' is accepted.",
            "example": "US"
          },
          "role_type": {
            "type": "string",
            "enum": [
              "enterprise",
              "bpo"
            ],
            "default": "enterprise",
            "description": "Role type in Branded Calling / Number Reputation services"
          },
          "website": {
            "type": "string",
            "maxLength": 255,
            "description": "Enterprise website URL. Accepts any string — no URL format validation enforced.",
            "example": "https://acme.com"
          },
          "fein": {
            "type": "string",
            "maxLength": 20,
            "description": "Federal Employer Identification Number. Format: XX-XXXXXXX or 9-digit number (minimum 9 digits).",
            "example": "12-3456789"
          },
          "industry": {
            "type": "string",
            "description": "Industry classification. Case-insensitive. Accepted values: accounting, finance, billing, collections, business, charity, nonprofit, communications, telecom, customer service, support, delivery, shipping, logistics, education, financial, banking, government, public, healthcare, health, pharmacy, medical, insurance, legal, law, notifications, scheduling, real estate, property, retail, ecommerce, sales, marketing, software, technology, tech, media, surveys, market research, travel, hospitality, hotel",
            "example": "technology"
          },
          "number_of_employees": {
            "type": "string",
            "enum": [
              "1-10",
              "11-50",
              "51-200",
              "201-500",
              "501-2000",
              "2001-10000",
              "10001+"
            ],
            "description": "Employee count range",
            "example": "51-200"
          },
          "organization_legal_type": {
            "type": "string",
            "enum": [
              "corporation",
              "llc",
              "partnership",
              "nonprofit",
              "other"
            ],
            "description": "Legal structure type",
            "example": "corporation"
          },
          "primary_business_domain_sic_code": {
            "type": "string",
            "maxLength": 10,
            "description": "SIC Code (optional)",
            "example": "7372"
          },
          "corporate_registration_number": {
            "type": "string",
            "maxLength": 100,
            "description": "Corporate registration number (optional)"
          },
          "professional_license_number": {
            "type": "string",
            "maxLength": 100,
            "description": "Professional license number (optional)"
          },
          "dun_bradstreet_number": {
            "type": "string",
            "maxLength": 20,
            "description": "D-U-N-S Number (optional)"
          },
          "customer_reference": {
            "type": "string",
            "maxLength": 255,
            "description": "Optional customer reference identifier for your own tracking"
          },
          "organization_contact": {
            "$ref": "#/components/schemas/OrganizationContact"
          },
          "billing_contact": {
            "$ref": "#/components/schemas/BillingContact"
          },
          "organization_physical_address": {
            "$ref": "#/components/schemas/PhysicalAddress"
          },
          "billing_address": {
            "$ref": "#/components/schemas/BillingAddress"
          }
        }
      },
      "EnterpriseListPublic": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnterprisePublic"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/MetaInfo"
          }
        }
      },
      "EnterprisePublic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the enterprise",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "legal_name": {
            "type": "string",
            "description": "Legal name of the enterprise",
            "example": "Acme Corp Inc."
          },
          "doing_business_as": {
            "type": "string",
            "description": "DBA name",
            "example": "Acme"
          },
          "organization_type": {
            "type": "string",
            "enum": [
              "commercial",
              "government",
              "non_profit"
            ],
            "description": "Type of organization"
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code",
            "example": "US"
          },
          "role_type": {
            "type": "string",
            "enum": [
              "enterprise",
              "bpo"
            ],
            "description": "Role type in Branded Calling / Number Reputation services"
          },
          "customer_reference": {
            "type": "string",
            "nullable": true,
            "description": "Customer reference identifier"
          },
          "website": {
            "type": "string",
            "nullable": true,
            "description": "Company website URL"
          },
          "fein": {
            "type": "string",
            "nullable": true,
            "description": "Federal Employer Identification Number"
          },
          "industry": {
            "type": "string",
            "nullable": true,
            "description": "Industry classification"
          },
          "number_of_employees": {
            "type": "string",
            "nullable": true,
            "enum": [
              "1-10",
              "11-50",
              "51-200",
              "201-500",
              "501-2000",
              "2001-10000",
              "10001+"
            ],
            "description": "Employee count range"
          },
          "organization_legal_type": {
            "type": "string",
            "nullable": true,
            "enum": [
              "corporation",
              "llc",
              "partnership",
              "nonprofit",
              "other"
            ],
            "description": "Legal structure type"
          },
          "primary_business_domain_sic_code": {
            "type": "string",
            "nullable": true,
            "description": "SIC Code"
          },
          "corporate_registration_number": {
            "type": "string",
            "nullable": true,
            "description": "Corporate registration number"
          },
          "professional_license_number": {
            "type": "string",
            "nullable": true,
            "description": "Professional license number"
          },
          "dun_bradstreet_number": {
            "type": "string",
            "nullable": true,
            "description": "D-U-N-S Number"
          },
          "organization_contact": {
            "$ref": "#/components/schemas/OrganizationContact"
          },
          "billing_contact": {
            "$ref": "#/components/schemas/BillingContact"
          },
          "organization_physical_address": {
            "$ref": "#/components/schemas/PhysicalAddress"
          },
          "billing_address": {
            "$ref": "#/components/schemas/BillingAddress"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the enterprise was created"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the enterprise was last updated"
          }
        }
      },
      "EnterprisePublicWrapped": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EnterprisePublic"
          }
        }
      },
      "EnterpriseReputationCreate": {
        "type": "object",
        "required": [
          "loa_document_id"
        ],
        "properties": {
          "loa_document_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "ID of the signed Letter of Authorization (LOA) document uploaded to the document service",
            "example": "doc_01HXYZ1234ABCDEF"
          },
          "check_frequency": {
            "type": "string",
            "enum": [
              "business_daily",
              "daily",
              "weekly",
              "biweekly",
              "monthly",
              "never"
            ],
            "default": "business_daily",
            "description": "Frequency for automatically refreshing reputation data"
          }
        }
      },
      "EnterpriseReputationPublic": {
        "type": "object",
        "properties": {
          "enterprise_id": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the associated enterprise",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "deleted"
            ],
            "description": "Current enrollment status"
          },
          "check_frequency": {
            "type": "string",
            "enum": [
              "business_daily",
              "daily",
              "weekly",
              "biweekly",
              "monthly",
              "never"
            ],
            "description": "Frequency for refreshing reputation data"
          },
          "loa_document_id": {
            "type": "string",
            "nullable": true,
            "description": "ID of the signed LOA document"
          },
          "rejection_reasons": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "Reasons for rejection (present when status is rejected)"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the reputation settings were created"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the reputation settings were last updated"
          }
        }
      },
      "EnterpriseReputationPublicWrapped": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EnterpriseReputationPublic"
          }
        }
      },
      "EnterpriseReputationUpdateFrequency": {
        "type": "object",
        "required": [
          "check_frequency"
        ],
        "properties": {
          "check_frequency": {
            "type": "string",
            "enum": [
              "business_daily",
              "daily",
              "weekly",
              "biweekly",
              "monthly",
              "never"
            ],
            "description": "New frequency for refreshing reputation data"
          }
        }
      },
      "EnterpriseUpdate": {
        "type": "object",
        "description": "All fields are optional. Only provided fields will be updated.",
        "properties": {
          "legal_name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "description": "Legal name of the enterprise"
          },
          "doing_business_as": {
            "type": "string",
            "maxLength": 255,
            "description": "DBA name"
          },
          "customer_reference": {
            "type": "string",
            "maxLength": 255,
            "description": "Customer reference identifier"
          },
          "website": {
            "type": "string",
            "maxLength": 255,
            "description": "Company website URL"
          },
          "fein": {
            "type": "string",
            "maxLength": 20,
            "description": "Federal Employer Identification Number. Format: XX-XXXXXXX or XXXXXXXXX"
          },
          "industry": {
            "type": "string",
            "description": "Industry classification"
          },
          "number_of_employees": {
            "type": "string",
            "enum": [
              "1-10",
              "11-50",
              "51-200",
              "201-500",
              "501-2000",
              "2001-10000",
              "10001+"
            ],
            "description": "Employee count range"
          },
          "organization_legal_type": {
            "type": "string",
            "enum": [
              "corporation",
              "llc",
              "partnership",
              "nonprofit",
              "other"
            ],
            "description": "Legal structure type"
          },
          "primary_business_domain_sic_code": {
            "type": "string",
            "maxLength": 10,
            "description": "SIC Code"
          },
          "corporate_registration_number": {
            "type": "string",
            "maxLength": 100,
            "description": "Corporate registration number"
          },
          "professional_license_number": {
            "type": "string",
            "maxLength": 100,
            "description": "Professional license number"
          },
          "dun_bradstreet_number": {
            "type": "string",
            "maxLength": 20,
            "description": "D-U-N-S Number"
          },
          "organization_contact": {
            "$ref": "#/components/schemas/OrganizationContact"
          },
          "billing_contact": {
            "$ref": "#/components/schemas/BillingContact"
          },
          "organization_physical_address": {
            "$ref": "#/components/schemas/PhysicalAddress"
          },
          "billing_address": {
            "$ref": "#/components/schemas/BillingAddress"
          }
        }
      },
      "EntityType": {
        "title": "EntityType",
        "enum": [
          "PRIVATE_PROFIT",
          "PUBLIC_PROFIT",
          "NON_PROFIT",
          "GOVERNMENT",
          "SOLE_PROPRIETOR"
        ],
        "description": "Entity type behind the brand. This is the form of business establishment.",
        "example": "PRIVATE_PROFIT",
        "type": "string"
      },
      "EnumObjecToObjecttResponse": {
        "title": "EnumObjecToObjecttResponse",
        "type": "object",
        "additionalProperties": true,
        "example": {
          "PROFESSIONAL": {
            "industryId": "professional-services",
            "displayName": "Professional Services",
            "description": "Professional services."
          },
          "REAL_ESTATE": {
            "industryId": "real-estate",
            "displayName": "Real Estate",
            "description": "Buying and Selling of residential and commercial properties."
          }
        }
      },
      "EnumObjectListResponse": {
        "title": "EnumObjectListResponse",
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": true
        },
        "example": [
          {
            "networkId": 10000,
            "displayName": "string",
            "osrBitmaskIndex": 32
          }
        ]
      },
      "EnumObjectToStringResponse": {
        "title": "EnumObjectToStringResponse",
        "type": "object",
        "additionalProperties": true,
        "example": {
          "AREIS": "AREIS",
          "BANDW": "Bandwidth",
          "SINCH": "Sinch"
        }
      },
      "EnumPaginatedResponse": {
        "title": "EnumPaginatedResponse",
        "type": "object",
        "required": [
          "page",
          "totalRecords",
          "records"
        ],
        "properties": {
          "page": {
            "type": "integer"
          },
          "totalRecords": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "example": {
          "page": 1,
          "totalRecords": 2,
          "records": [
            {
              "isin": "US68243Q1067",
              "iso2": "US",
              "symbol": "FLWS",
              "exchange": "NASDAQ",
              "displayName": "1-800 FLOWERS.COM, Inc."
            },
            {
              "isin": "US88025U1097",
              "iso2": "US",
              "symbol": "TXG",
              "exchange": "NASDAQ",
              "displayName": "10X GENOMICS INC CLASS A"
            }
          ]
        }
      },
      "EnumStringListResponse": {
        "title": "EnumStringListResponse",
        "type": "array",
        "items": {
          "type": "string"
        },
        "example": [
          "BASIC_ACCOUNT",
          "SMALL_ACCOUNT",
          "MEDIUM_ACCOUNT",
          "LARGE_ACCOUNT",
          "KEY_ACCOUNT"
        ]
      },
      "Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "x-format": "int64"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "example": {
          "title": "Invalid street address",
          "source": {
            "pointer": "/street_address"
          },
          "code": "20207",
          "description": "The street address provided is invalid."
        },
        "type": "object"
      },
      "ErrorFrame": {
        "type": "object",
        "description": "Server-to-client frame indicating an error during synthesis. The connection is closed shortly after.",
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "description": "Frame type identifier."
          },
          "error": {
            "type": "string",
            "description": "Error message describing what went wrong."
          }
        }
      },
      "ErrorObject": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Machine-readable error code.",
            "example": "90202"
          },
          "title": {
            "type": "string",
            "description": "Short human-readable error title.",
            "example": "Validation failed"
          },
          "detail": {
            "type": "string",
            "description": "Detailed error description.",
            "example": "items must have at least one item"
          },
          "source": {
            "type": "object",
            "description": "Source of the error.",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "JSON pointer to the field that caused the error.",
                "example": "/items"
              }
            }
          }
        }
      },
      "ErrorRecord": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "an application-specific error code, expressed as a stringified 5-digit integer",
            "example": "10003"
          },
          "title": {
            "type": "string",
            "description": "a short, human-readable summary of the problem, with NO punctuation, that SHOULD NOT CHANGE from occurrence to occurrence of the problem, except for purposes of localization",
            "example": "Metrics invalid values"
          },
          "detail": {
            "type": "string",
            "description": "a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized",
            "example": "Available metrics values for sip-trunking: connected,cost,completed,call_sec,attempted,billed_sec."
          },
          "source": {
            "$ref": "#/components/schemas/SourceResponse"
          },
          "meta": {
            "$ref": "#/components/schemas/MetaResponse"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "detail": {
                  "type": "string"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  }
                },
                "title": {
                  "type": "string"
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "pointer": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Errors": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/billing-group_Error"
            }
          }
        }
      },
      "EventData": {
        "properties": {
          "event_id": {
            "type": "string",
            "title": "Event Id"
          },
          "run_id": {
            "type": "string",
            "title": "Run Id"
          },
          "type": {
            "$ref": "#/components/schemas/EventType"
          },
          "summary": {
            "type": "string",
            "title": "Summary"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp"
          },
          "step_id": {
            "title": "Step Id",
            "type": "string"
          },
          "agent_id": {
            "title": "Agent Id",
            "type": "string"
          },
          "payload": {
            "title": "Payload",
            "additionalProperties": true,
            "type": "object"
          },
          "idempotency_key": {
            "title": "Idempotency Key",
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "event_id",
          "run_id",
          "type",
          "summary",
          "timestamp"
        ],
        "title": "EventData"
      },
      "EventNode": {
        "type": "object",
        "required": [
          "id",
          "product",
          "event_name",
          "cost",
          "links",
          "record",
          "children"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Event identifier."
          },
          "product": {
            "type": "string",
            "description": "Product that generated this event."
          },
          "event_name": {
            "type": "string",
            "description": "Name of the event type."
          },
          "relationship": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/RelationshipInfo"
              },
              {
                "type": "null"
              }
            ],
            "description": "Relationship to the parent node, null for root."
          },
          "cost": {
            "$ref": "#/components/schemas/CostInfo"
          },
          "links": {
            "$ref": "#/components/schemas/Links"
          },
          "record": {
            "type": "object",
            "description": "The underlying detail record data. Contents vary by record type.",
            "additionalProperties": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventNode"
            },
            "description": "Child events in the session tree."
          }
        }
      },
      "EventResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EventData"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "EventResponse"
      },
      "EventStatus": {
        "type": "string",
        "enum": [
          "pending",
          "in_progress",
          "completed",
          "failed"
        ],
        "title": "EventStatus"
      },
      "EventType": {
        "type": "string",
        "enum": [
          "status_change",
          "step_started",
          "step_completed",
          "step_failed",
          "tool_call",
          "tool_result",
          "message",
          "error",
          "custom"
        ],
        "title": "EventType"
      },
      "EventsListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EventData"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "EventsListResponse"
      },
      "ExecutionMode": {
        "type": "string",
        "enum": [
          "external",
          "managed"
        ],
        "title": "ExecutionMode"
      },
      "ExportPortingOrdersCSVReport": {
        "description": "The parameters for generating a porting orders CSV report.",
        "type": "object",
        "required": [
          "filters"
        ],
        "properties": {
          "filters": {
            "type": "object",
            "description": "The filters to apply to the export porting order CSV report.",
            "properties": {
              "status__in": {
                "type": "array",
                "description": "The status of the porting orders to include in the report.",
                "items": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "in-process",
                    "submitted",
                    "exception",
                    "foc-date-confirmed",
                    "cancel-pending",
                    "ported",
                    "cancelled"
                  ]
                }
              },
              "customer_reference__in": {
                "type": "array",
                "description": "The customer reference of the porting orders to include in the report.",
                "items": {
                  "type": "string",
                  "example": "my-customer-reference"
                }
              },
              "created_at__lt": {
                "type": "string",
                "description": "The date and time the porting order was created before.",
                "format": "date-time"
              },
              "created_at__gt": {
                "type": "string",
                "description": "The date and time the porting order was created after.",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ExportPortoutsCSVReport": {
        "description": "The parameters for generating a port-outs CSV report.",
        "type": "object",
        "required": [
          "filters"
        ],
        "properties": {
          "filters": {
            "type": "object",
            "description": "The filters to apply to the export port-out CSV report.",
            "properties": {
              "status__in": {
                "type": "array",
                "description": "The status of the port-outs to include in the report.",
                "items": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "authorized",
                    "ported",
                    "rejected",
                    "rejected-pending",
                    "canceled"
                  ]
                }
              },
              "customer_reference__in": {
                "type": "array",
                "description": "The customer reference of the port-outs to include in the report.",
                "items": {
                  "type": "string",
                  "example": "my-customer-reference"
                }
              },
              "end_user_name": {
                "type": "string",
                "description": "The end user name of the port-outs to include in the report.",
                "example": "McPortersen"
              },
              "phone_numbers__overlaps": {
                "type": "array",
                "description": "A list of phone numbers that the port-outs phone numbers must overlap with.",
                "items": {
                  "type": "string",
                  "example": "+1234567890"
                }
              },
              "created_at__lt": {
                "type": "string",
                "description": "The date and time the port-out was created before.",
                "format": "date-time"
              },
              "created_at__gt": {
                "type": "string",
                "description": "The date and time the port-out was created after.",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ExternalConnection": {
        "type": "object",
        "title": "External Connection",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/external-voice-integrations_IntId"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "external_connection"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "credential_active": {
            "$ref": "#/components/schemas/CredentialActive"
          },
          "external_sip_connection": {
            "$ref": "#/components/schemas/ExternalSipConnection"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/external-voice-integrations_OutboundVoiceProfileId"
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "1930241863466354012",
          "record_type": "external_connection",
          "external_sip_connection": "zoom",
          "credential_active": false,
          "active": false,
          "created_at": "2022-06-29T19:23:59Z",
          "updated_at": "2022-06-29T19:39:47Z",
          "outbound": {
            "outbound_voice_profile_id": "1911630617284445511"
          }
        }
      },
      "ExternalConnectionPhoneNumber": {
        "type": "object",
        "title": "Phone number details with relation to an external connection",
        "properties": {
          "ticket_id": {
            "$ref": "#/components/schemas/UUID"
          },
          "telephone_number": {
            "type": "string",
            "description": "Phone number in E164 format."
          },
          "number_id": {
            "type": "string",
            "description": "Phone number ID from the Telnyx API."
          },
          "civic_address_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the civic address assigned to the phone number."
          },
          "location_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the location assigned to the phone number."
          },
          "displayed_country_code": {
            "type": "string",
            "description": "The iso country code that will be displayed to the user when they receive a call from this phone number."
          },
          "acquired_capabilities": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "FirstPartyAppAssignment",
                "InboundCalling",
                "Office365",
                "OutboundCalling",
                "UserAssignment"
              ],
              "description": "The capabilities that are available for this phone number on Microsoft Teams."
            }
          }
        }
      },
      "ExternalLLM": {
        "properties": {
          "model": {
            "type": "string",
            "description": "Model identifier to use with the external LLM endpoint."
          },
          "base_url": {
            "type": "string",
            "description": "Base URL for the external LLM endpoint."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "Integration secret identifier for the external LLM API key."
          },
          "authentication_method": {
            "$ref": "#/components/schemas/AuthenticationMethod"
          },
          "certificate_ref": {
            "type": "string",
            "description": "Integration secret identifier for the client certificate used with certificate authentication."
          },
          "token_retrieval_url": {
            "type": "string",
            "description": "URL used to retrieve an access token when certificate authentication is enabled."
          },
          "forward_metadata": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint as a top-level `extra_metadata` object on the chat completion request body. Defaults to `false`. Example payload sent to the external endpoint: `{\"extra_metadata\": {\"customer_name\": \"Jane\", \"account_id\": \"acct_789\", \"telnyx_agent_target\": \"+13125550100\", \"telnyx_end_user_target\": \"+13125550123\"}}`. Distinct from OpenAI's native `metadata` field, which has its own size and type limits."
          }
        },
        "type": "object",
        "required": [
          "model",
          "base_url"
        ],
        "title": "ExternalLLM"
      },
      "ExternalLLMReq": {
        "properties": {
          "model": {
            "type": "string",
            "description": "Model identifier to use with the external LLM endpoint."
          },
          "base_url": {
            "type": "string",
            "description": "Base URL for the external LLM endpoint."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "Integration secret identifier for the external LLM API key."
          },
          "authentication_method": {
            "$ref": "#/components/schemas/AuthenticationMethod"
          },
          "certificate_ref": {
            "type": "string",
            "description": "Integration secret identifier for the client certificate used with certificate authentication."
          },
          "token_retrieval_url": {
            "type": "string",
            "description": "URL used to retrieve an access token when certificate authentication is enabled."
          },
          "forward_metadata": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint as a top-level `extra_metadata` object on the chat completion request body. Defaults to `false`. Example payload sent to the external endpoint: `{\"extra_metadata\": {\"customer_name\": \"Jane\", \"account_id\": \"acct_789\", \"telnyx_agent_target\": \"+13125550100\", \"telnyx_end_user_target\": \"+13125550123\"}}`. Distinct from OpenAI's native `metadata` field, which has its own size and type limits."
          }
        },
        "type": "object",
        "required": [
          "model",
          "base_url"
        ],
        "title": "ExternalLLMReq"
      },
      "ExternalSipConnection": {
        "title": "External SIP Connection",
        "type": "string",
        "description": "The service that will be consuming this connection.",
        "enum": [
          "zoom",
          "operator_connect"
        ],
        "default": "zoom",
        "example": "zoom"
      },
      "ExternalSipConnectionZoomOnly": {
        "title": "External SIP Connection",
        "type": "string",
        "description": "The service that will be consuming this connection.",
        "enum": [
          "zoom"
        ],
        "default": "zoom",
        "example": "zoom"
      },
      "ExternalVetting": {
        "title": "ExternalVetting",
        "type": "object",
        "properties": {
          "evpId": {
            "title": "Evpid",
            "maxLength": 10,
            "type": "string",
            "description": "External vetting provider ID for the brand."
          },
          "vettingId": {
            "title": "vettingId",
            "type": "string",
            "description": "Unique ID that identifies a vetting transaction performed by a vetting provider. This ID is provided by the vetting provider at time of vetting."
          },
          "vettingToken": {
            "title": "vettingToken",
            "type": "string",
            "description": "Required by some providers for vetting record confirmation."
          },
          "vettingScore": {
            "title": "vettingScore",
            "type": "integer",
            "description": "Vetting score ranging from 0-100."
          },
          "vettingClass": {
            "title": "Vettingclass",
            "type": "string",
            "description": "Identifies the vetting classification."
          },
          "vettedDate": {
            "title": "vettedDate",
            "type": "string",
            "description": "Vetting effective date. This is the date when vetting was completed, or the starting effective date in ISO 8601 format. If this date is missing, then the vetting was not complete or not valid."
          },
          "createDate": {
            "title": "createDate",
            "type": "string",
            "description": "Vetting submission date. This is the date when the vetting request is generated in ISO 8601 format."
          }
        }
      },
      "ExternalVettingList": {
        "title": "External vetting list",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExternalVetting"
        }
      },
      "ExternalWdrDetailRecordDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "WDR id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "created_at": {
            "type": "string",
            "description": "Record created time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "cost": {
            "$ref": "#/components/schemas/WirelessCost"
          },
          "mcc": {
            "type": "string",
            "description": "Mobile country code.",
            "example": "204"
          },
          "mnc": {
            "type": "string",
            "description": "Mobile network code.",
            "example": "01"
          },
          "downlink_data": {
            "$ref": "#/components/schemas/DownlinkData"
          },
          "duration_seconds": {
            "type": "number",
            "description": "Session duration in seconds.",
            "example": 1
          },
          "imsi": {
            "type": "string",
            "description": "International mobile subscriber identity.",
            "example": "123"
          },
          "rate": {
            "$ref": "#/components/schemas/WirelessRate"
          },
          "sim_group_name": {
            "type": "string",
            "description": "Defined sim group name",
            "example": "sim name"
          },
          "sim_group_id": {
            "type": "string",
            "description": "Sim group unique identifier",
            "example": "f05a189f-7c46-4531-ac56-1460dc465a42"
          },
          "sim_card_id": {
            "type": "string",
            "description": "Sim card unique identifier",
            "example": "877f80a6-e5b2-4687-9a04-88076265720f"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number",
            "example": "+12345678910"
          },
          "uplink_data": {
            "$ref": "#/components/schemas/UplinkData"
          },
          "record_type": {
            "type": "string",
            "example": "wdr"
          }
        }
      },
      "ExternalWdrGetDetailResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalWdrDetailRecordDto"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/wireless-public_PaginationMeta"
          }
        }
      },
      "FallbackConfig": {
        "properties": {
          "model": {
            "type": "string",
            "description": "Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "Integration secret identifier for the fallback model API key."
          },
          "external_llm": {
            "$ref": "#/components/schemas/ExternalLLM"
          }
        },
        "type": "object",
        "title": "FallbackConfig"
      },
      "FallbackConfigReq": {
        "properties": {
          "model": {
            "type": "string",
            "description": "Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "Integration secret identifier for the fallback model API key."
          },
          "external_llm": {
            "$ref": "#/components/schemas/ExternalLLMReq"
          }
        },
        "type": "object",
        "title": "FallbackConfigReq"
      },
      "Fax": {
        "type": "object",
        "properties": {
          "record_type": {
            "description": "Identifies the type of the resource.",
            "type": "string",
            "example": "fax",
            "enum": [
              "fax"
            ]
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "connection_id": {
            "$ref": "#/components/schemas/ConnectionId"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "media_url": {
            "$ref": "#/components/schemas/MediaUrl"
          },
          "media_name": {
            "$ref": "#/components/schemas/MediaName"
          },
          "to": {
            "$ref": "#/components/schemas/To"
          },
          "from": {
            "$ref": "#/components/schemas/From"
          },
          "from_display_name": {
            "description": "The string used as the caller id name (SIP From Display Name) presented to the destination (`to` number).",
            "type": "string",
            "example": "Company Name"
          },
          "quality": {
            "$ref": "#/components/schemas/Quality"
          },
          "status": {
            "description": "Status of the fax",
            "type": "string",
            "example": "queued",
            "enum": [
              "queued",
              "media.processed",
              "originated",
              "sending",
              "delivered",
              "failed",
              "initiated",
              "receiving",
              "media.processing",
              "received"
            ]
          },
          "webhook_url": {
            "description": "URL that will receive fax webhooks",
            "type": "string"
          },
          "webhook_failover_url": {
            "description": "Optional failover URL that will receive fax webhooks if webhook_url doesn't return a 2XX response",
            "type": "string"
          },
          "store_media": {
            "description": "Should fax media be stored on temporary URL. It does not support media_name.",
            "type": "boolean"
          },
          "stored_media_url": {
            "description": "If store_media was set to true, this is a link to temporary location. Link expires after 10 minutes.",
            "type": "string"
          },
          "preview_url": {
            "description": "If `store_preview` was set to `true`, this is a link to temporary location. Link expires after 10 minutes.",
            "type": "string"
          },
          "client_state": {
            "description": "State received from a command.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "created_at": {
            "description": "ISO 8601 timestamp when resource was created",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when resource was updated",
            "type": "string",
            "format": "date-time"
          }
        },
        "example": {
          "record_type": "fax",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "connection_id": "c-1",
          "direction": "outbound",
          "from": "+123",
          "to": "+456",
          "media_url": "http://www.example.com/fax.pdf",
          "store_media": true,
          "stored_media_url": "https://s3.amazonaws.com/faxes-dev/user-1/cf4a6b52-bf8e-4945-9f49-611d0d2b083b.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxxxxxxx%2F20200505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200505T095917Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=fac2af40464fcc77673ad762db86e34f9c1b91a82699b5578c5327f53874df51",
          "preview_url": "https://s3.amazonaws.com/faxes-dev/user-1/cf4a6b52-bf8e-4945-9f49-611d0d2b083b_preview.tiff?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxxxxxxx%2F20200505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200505T095917Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=fac2af40464fcc77673ad762db86e34f9c1b91a82699b5578c5327f53874df51",
          "quality": "high",
          "webhook_url": "http://www.example.com/webhooks",
          "webhook_failover_url": "",
          "status": "queued",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "created_at": "2020-05-05T09:59:12Z",
          "updated_at": "2020-05-05T09:59:12Z"
        }
      },
      "FaxApplication": {
        "type": "object",
        "title": "Fax Application",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/IntId"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "fax_application"
          },
          "application_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Fax Application.",
            "example": [
              "tag1",
              "tag2"
            ],
            "default": []
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "1293384261075731499",
          "record_type": "fax_application",
          "application_name": "fax-router",
          "active": false,
          "anchorsite_override": "Amsterdam, Netherlands",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "inbound": {
            "channel_limit": 10,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "FaxDelivered": {
        "type": "object",
        "example": {
          "data": {
            "event_type": "fax.delivered",
            "id": "95479a2e-b947-470a-a88f-2da6dd07ae0f",
            "occurred_at": "2020-05-05T13:08:22.039204Z",
            "payload": {
              "call_duration_secs": 25,
              "connection_id": "234423",
              "direction": "outbound",
              "fax_id": "f8338808-3dc6-4f2b-942a-5d1f39255784",
              "from": "+17733372107",
              "original_media_url": "http://www.example.com/fax.pdf",
              "page_count": 2,
              "status": "delivered",
              "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
              "to": "+15107882622",
              "user_id": "19a75cea-02c6-4b9a-84fa-c9bc8341feb8"
            },
            "record_type": "event"
          },
          "meta": {
            "attempt": 1,
            "delivered_to": "https://www.example.com/webhooks"
          }
        },
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "$ref": "#/components/schemas/programmable-fax_RecordType"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 datetime of when the event occurred.",
                "example": "2020-05-05T13:08:22.039204Z"
              },
              "event_type": {
                "type": "string",
                "example": "fax.delivered",
                "enum": [
                  "fax.delivered"
                ],
                "description": "The type of event being delivered."
              },
              "payload": {
                "type": "object",
                "properties": {
                  "call_duration_secs": {
                    "description": "The duration of the call in seconds.",
                    "type": "integer",
                    "example": 25
                  },
                  "connection_id": {
                    "$ref": "#/components/schemas/ConnectionId"
                  },
                  "direction": {
                    "$ref": "#/components/schemas/Direction"
                  },
                  "fax_id": {
                    "$ref": "#/components/schemas/FaxId"
                  },
                  "original_media_url": {
                    "$ref": "#/components/schemas/OriginalMediaUrl"
                  },
                  "media_name": {
                    "$ref": "#/components/schemas/MediaName"
                  },
                  "to": {
                    "$ref": "#/components/schemas/To"
                  },
                  "from": {
                    "$ref": "#/components/schemas/From"
                  },
                  "user_id": {
                    "$ref": "#/components/schemas/UserId"
                  },
                  "page_count": {
                    "description": "Number of transferred pages",
                    "type": "integer",
                    "example": 2
                  },
                  "status": {
                    "type": "string",
                    "example": "delivered",
                    "enum": [
                      "delivered"
                    ],
                    "description": "The status of the fax."
                  },
                  "client_state": {
                    "description": "State received from a command.",
                    "type": "string",
                    "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata about the webhook delivery.",
            "properties": {
              "attempt": {
                "type": "integer",
                "description": "The delivery attempt number.",
                "example": 1
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "description": "The URL the webhook was delivered to.",
                "example": "https://www.example.com/webhooks"
              }
            }
          }
        }
      },
      "FaxEmailRecipient": {
        "title": "Fax Email Recipient",
        "type": [
          "string",
          "null"
        ],
        "description": "Specifies an email address where faxes sent to this application will be forwarded to (as pdf or tiff attachments)",
        "default": null,
        "example": "user@example.com"
      },
      "FaxFailed": {
        "type": "object",
        "example": {
          "data": {
            "event_type": "fax.failed",
            "id": "95479a2e-b947-470a-a88f-2da6dd07ae0f",
            "occurred_at": "2020-05-05T13:08:22.039204Z",
            "payload": {
              "connection_id": "234423",
              "direction": "outbound",
              "failure_reason": "rejected",
              "fax_id": "f8338808-3dc6-4f2b-942a-5d1f39255784",
              "from": "+17733372107",
              "original_media_url": "http://www.example.com/fax.pdf",
              "status": "failed",
              "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
              "to": "+15107882622",
              "user_id": "19a75cea-02c6-4b9a-84fa-c9bc8341feb8"
            },
            "record_type": "event"
          },
          "meta": {
            "attempt": 1,
            "delivered_to": "https://www.example.com/webhooks"
          }
        },
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "$ref": "#/components/schemas/programmable-fax_RecordType"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 datetime of when the event occurred.",
                "example": "2020-05-05T13:08:22.039204Z"
              },
              "event_type": {
                "type": "string",
                "example": "fax.failed",
                "enum": [
                  "fax.failed"
                ],
                "description": "The type of event being delivered."
              },
              "payload": {
                "type": "object",
                "properties": {
                  "connection_id": {
                    "$ref": "#/components/schemas/ConnectionId"
                  },
                  "direction": {
                    "$ref": "#/components/schemas/Direction"
                  },
                  "fax_id": {
                    "$ref": "#/components/schemas/FaxId"
                  },
                  "original_media_url": {
                    "$ref": "#/components/schemas/OriginalMediaUrl"
                  },
                  "media_name": {
                    "$ref": "#/components/schemas/MediaName"
                  },
                  "to": {
                    "$ref": "#/components/schemas/To"
                  },
                  "from": {
                    "$ref": "#/components/schemas/From"
                  },
                  "user_id": {
                    "$ref": "#/components/schemas/UserId"
                  },
                  "failure_reason": {
                    "type": "string",
                    "enum": [
                      "rejected"
                    ],
                    "description": "Cause of the sending failure"
                  },
                  "status": {
                    "type": "string",
                    "example": "failed",
                    "enum": [
                      "failed"
                    ],
                    "description": "The status of the fax."
                  },
                  "client_state": {
                    "description": "State received from a command.",
                    "type": "string",
                    "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata about the webhook delivery.",
            "properties": {
              "attempt": {
                "type": "integer",
                "description": "The delivery attempt number.",
                "example": 1
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "description": "The URL the webhook was delivered to.",
                "example": "https://www.example.com/webhooks"
              }
            }
          }
        }
      },
      "FaxId": {
        "type": "string",
        "format": "uuid",
        "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
        "description": "Identifies the fax."
      },
      "FaxMediaProcessed": {
        "type": "object",
        "example": {
          "data": {
            "event_type": "fax.media.processed",
            "id": "95479a2e-b947-470a-a88f-2da6dd07ae0f",
            "occurred_at": "2020-05-05T13:08:22.039204Z",
            "payload": {
              "connection_id": "234423",
              "direction": "outbound",
              "fax_id": "f8338808-3dc6-4f2b-942a-5d1f39255784",
              "from": "+17733372107",
              "original_media_url": "http://www.example.com/fax.pdf",
              "status": "media.processed",
              "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
              "to": "+15107882622",
              "user_id": "19a75cea-02c6-4b9a-84fa-c9bc8341feb8"
            },
            "record_type": "event"
          },
          "meta": {
            "attempt": 1,
            "delivered_to": "https://www.example.com/webhooks"
          }
        },
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "$ref": "#/components/schemas/programmable-fax_RecordType"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 datetime of when the event occurred.",
                "example": "2020-05-05T13:08:22.039204Z"
              },
              "event_type": {
                "type": "string",
                "example": "fax.media.processed",
                "enum": [
                  "fax.media.processed"
                ],
                "description": "The type of event being delivered."
              },
              "payload": {
                "type": "object",
                "properties": {
                  "connection_id": {
                    "$ref": "#/components/schemas/ConnectionId"
                  },
                  "direction": {
                    "$ref": "#/components/schemas/Direction"
                  },
                  "fax_id": {
                    "$ref": "#/components/schemas/FaxId"
                  },
                  "original_media_url": {
                    "$ref": "#/components/schemas/OriginalMediaUrl"
                  },
                  "media_name": {
                    "$ref": "#/components/schemas/MediaName"
                  },
                  "to": {
                    "$ref": "#/components/schemas/To"
                  },
                  "from": {
                    "$ref": "#/components/schemas/From"
                  },
                  "user_id": {
                    "$ref": "#/components/schemas/UserId"
                  },
                  "status": {
                    "type": "string",
                    "example": "media.processed",
                    "enum": [
                      "media.processed"
                    ],
                    "description": "The status of the fax."
                  },
                  "client_state": {
                    "description": "State received from a command.",
                    "type": "string",
                    "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata about the webhook delivery.",
            "properties": {
              "attempt": {
                "type": "integer",
                "description": "The delivery attempt number.",
                "example": 1
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "description": "The URL the webhook was delivered to.",
                "example": "https://www.example.com/webhooks"
              }
            }
          }
        }
      },
      "FaxQueued": {
        "type": "object",
        "example": {
          "data": {
            "event_type": "fax.queued",
            "id": "95479a2e-b947-470a-a88f-2da6dd07ae0f",
            "occurred_at": "2020-05-05T13:08:22.039204Z",
            "payload": {
              "connection_id": "234423",
              "direction": "outbound",
              "fax_id": "f8338808-3dc6-4f2b-942a-5d1f39255784",
              "from": "+17733372107",
              "original_media_url": "http://www.example.com/fax.pdf",
              "status": "queued",
              "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
              "to": "+15107882622",
              "user_id": "19a75cea-02c6-4b9a-84fa-c9bc8341feb8"
            },
            "record_type": "event"
          },
          "meta": {
            "attempt": 1,
            "delivered_to": "https://www.example.com/webhooks"
          }
        },
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "$ref": "#/components/schemas/programmable-fax_RecordType"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 datetime of when the event occurred.",
                "example": "2020-05-05T13:08:22.039204Z"
              },
              "event_type": {
                "type": "string",
                "example": "fax.queued",
                "enum": [
                  "fax.queued"
                ],
                "description": "The type of event being delivered."
              },
              "payload": {
                "type": "object",
                "properties": {
                  "connection_id": {
                    "$ref": "#/components/schemas/ConnectionId"
                  },
                  "direction": {
                    "$ref": "#/components/schemas/Direction"
                  },
                  "fax_id": {
                    "$ref": "#/components/schemas/FaxId"
                  },
                  "original_media_url": {
                    "$ref": "#/components/schemas/OriginalMediaUrl"
                  },
                  "media_name": {
                    "$ref": "#/components/schemas/MediaName"
                  },
                  "to": {
                    "$ref": "#/components/schemas/To"
                  },
                  "from": {
                    "$ref": "#/components/schemas/From"
                  },
                  "user_id": {
                    "$ref": "#/components/schemas/UserId"
                  },
                  "status": {
                    "type": "string",
                    "example": "queued",
                    "enum": [
                      "queued"
                    ],
                    "description": "The status of the fax."
                  },
                  "client_state": {
                    "description": "State received from a command.",
                    "type": "string",
                    "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata about the webhook delivery.",
            "properties": {
              "attempt": {
                "type": "integer",
                "description": "The delivery attempt number.",
                "example": 1
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "description": "The URL the webhook was delivered to.",
                "example": "https://www.example.com/webhooks"
              }
            }
          }
        }
      },
      "FaxSendingStarted": {
        "type": "object",
        "example": {
          "data": {
            "event_type": "fax.sending.started",
            "id": "95479a2e-b947-470a-a88f-2da6dd07ae0f",
            "occurred_at": "2020-05-05T13:08:22.039204Z",
            "payload": {
              "connection_id": "234423",
              "direction": "outbound",
              "fax_id": "f8338808-3dc6-4f2b-942a-5d1f39255784",
              "from": "+17733372107",
              "original_media_url": "http://www.example.com/fax.pdf",
              "status": "sending",
              "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
              "to": "+15107882622",
              "user_id": "19a75cea-02c6-4b9a-84fa-c9bc8341feb8"
            },
            "record_type": "event"
          },
          "meta": {
            "attempt": 1,
            "delivered_to": "https://www.example.com/webhooks"
          }
        },
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "$ref": "#/components/schemas/programmable-fax_RecordType"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 datetime of when the event occurred.",
                "example": "2020-05-05T13:08:22.039204Z"
              },
              "event_type": {
                "type": "string",
                "example": "fax.sending.started",
                "enum": [
                  "fax.sending.started"
                ],
                "description": "The type of event being delivered."
              },
              "payload": {
                "type": "object",
                "properties": {
                  "connection_id": {
                    "$ref": "#/components/schemas/ConnectionId"
                  },
                  "direction": {
                    "$ref": "#/components/schemas/Direction"
                  },
                  "fax_id": {
                    "$ref": "#/components/schemas/FaxId"
                  },
                  "original_media_url": {
                    "$ref": "#/components/schemas/OriginalMediaUrl"
                  },
                  "media_name": {
                    "$ref": "#/components/schemas/MediaName"
                  },
                  "to": {
                    "$ref": "#/components/schemas/To"
                  },
                  "from": {
                    "$ref": "#/components/schemas/From"
                  },
                  "user_id": {
                    "$ref": "#/components/schemas/UserId"
                  },
                  "status": {
                    "type": "string",
                    "example": "sending",
                    "enum": [
                      "sending"
                    ],
                    "description": "The status of the fax."
                  },
                  "client_state": {
                    "description": "State received from a command.",
                    "type": "string",
                    "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata about the webhook delivery.",
            "properties": {
              "attempt": {
                "type": "integer",
                "description": "The delivery attempt number.",
                "example": 1
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "description": "The URL the webhook was delivered to.",
                "example": "https://www.example.com/webhooks"
              }
            }
          }
        }
      },
      "Feature": {
        "properties": {
          "name": {
            "type": "string",
            "example": "sms"
          }
        },
        "example": {
          "name": "sms"
        },
        "type": "object"
      },
      "FieldMapping": {
        "type": "object",
        "required": [
          "local_field",
          "parent_field"
        ],
        "properties": {
          "local_field": {
            "type": "string",
            "description": "Field name on the child record."
          },
          "parent_field": {
            "type": "string",
            "description": "Field name on the parent record."
          }
        }
      },
      "Filter": {
        "type": "object",
        "description": "Query filter criteria. Note: The first filter object must specify filter_type as 'and'. You cannot follow an 'or' with another 'and'.",
        "properties": {
          "filter_type": {
            "type": "string",
            "description": "Logical operator for combining filters",
            "enum": [
              "and",
              "or"
            ]
          },
          "cli": {
            "type": "string",
            "description": "Calling line identification (caller ID)",
            "example": "+13129457420"
          },
          "cli_filter": {
            "type": "string",
            "description": "Filter type for CLI matching",
            "enum": [
              "contains",
              "starts_with",
              "ends_with"
            ]
          },
          "cld": {
            "type": "string",
            "description": "Called line identification (destination number)",
            "example": "+13129457420"
          },
          "cld_filter": {
            "type": "string",
            "description": "Filter type for CLD matching",
            "enum": [
              "contains",
              "starts_with",
              "ends_with"
            ]
          },
          "tags_list": {
            "type": "string",
            "description": "Tag name to filter by",
            "example": "tag1"
          },
          "billing_group": {
            "type": "string",
            "description": "Billing group UUID to filter by",
            "example": "adfaa016-f921-4b6c-97bb-e4c1dad231c5"
          }
        }
      },
      "FinalFrame": {
        "type": "object",
        "description": "Server-to-client frame indicating synthesis is complete for the current text.",
        "properties": {
          "type": {
            "type": "string",
            "const": "final",
            "description": "Frame type identifier."
          },
          "audio": {
            "type": "null",
            "description": "Always `null` for the final frame."
          },
          "text": {
            "type": "string",
            "description": "Empty string."
          },
          "isFinal": {
            "type": "boolean",
            "description": "Always `true`.",
            "const": true
          },
          "timeToFirstAudioFrameMs": {
            "type": "integer",
            "description": "Present if this was the first response frame."
          }
        }
      },
      "FineTuningJob": {
        "type": "object",
        "title": "FineTuningJob",
        "description": "The `fine_tuning.job` object represents a fine-tuning job that has been created through the API.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The name of the fine-tuned model that is being created."
          },
          "created_at": {
            "type": "integer",
            "description": "The Unix timestamp (in seconds) for when the fine-tuning job was created."
          },
          "finished_at": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running."
          },
          "hyperparameters": {
            "type": "object",
            "description": "The hyperparameters used for the fine-tuning job.",
            "properties": {
              "n_epochs": {
                "type": "integer",
                "minimum": 1,
                "maximum": 10,
                "default": 3,
                "description": "The number of epochs to train the model for. An epoch refers to one full cycle through the training dataset."
              }
            },
            "required": [
              "n_epochs"
            ]
          },
          "model": {
            "type": "string",
            "description": "The base model that is being fine-tuned."
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns the fine-tuning job."
          },
          "status": {
            "type": "string",
            "description": "The current status of the fine-tuning job.",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "trained_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running."
          },
          "training_file": {
            "type": "string",
            "description": "The storage bucket or object used for training."
          }
        },
        "required": [
          "created_at",
          "finished_at",
          "hyperparameters",
          "id",
          "model",
          "organization_id",
          "status",
          "trained_tokens",
          "training_file"
        ]
      },
      "FineTuningJobsListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/FineTuningJob"
            },
            "type": "array"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "FineTuningJobListData"
      },
      "FirstCommandTimeout": {
        "title": "First Command Timeout",
        "type": "boolean",
        "description": "Specifies whether calls to phone numbers associated with this connection should hangup after timing out.",
        "default": false,
        "example": true
      },
      "FirstCommandTimeoutSecs": {
        "title": "First Command Timeout Secs",
        "type": "integer",
        "description": "Specifies how many seconds to wait before timing out a dial command.",
        "default": 30,
        "example": 10
      },
      "ForbiddenError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericError"
          },
          {
            "properties": {
              "code": {
                "example": "10010",
                "type": "string"
              },
              "title": {
                "example": "Authorization failed",
                "type": "string"
              },
              "detail": {
                "example": "You do not have permission to perform the requested action on the specified resource or resources.",
                "type": "string"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://developers.telnyx.com/docs/overview/errors/10010"
                  }
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "Fqdn": {
        "type": "object",
        "title": "Fqdn",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "fqdn"
          },
          "connection_id": {
            "type": "string",
            "description": "ID of the FQDN connection to which this FQDN is attached."
          },
          "fqdn": {
            "type": "string",
            "description": "FQDN represented by this resource.",
            "example": "example.com"
          },
          "port": {
            "type": "integer",
            "description": "Port to use when connecting to this FQDN.",
            "default": 5060,
            "example": 5060
          },
          "dns_record_type": {
            "type": "string",
            "description": "The DNS record type for the FQDN. For cases where a port is not set, the DNS record type must be 'srv'. For cases where a port is set, the DNS record type must be 'a'. If the DNS record type is 'a' and a port is not specified, 5060 will be used.",
            "example": "a"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "1293384261075731499",
          "record_type": "fqdn",
          "connection_id": "1516447646313612565",
          "fqdn": "example.com",
          "port": 5060,
          "dns_record_type": "a",
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "FqdnConnection": {
        "type": "object",
        "title": "FQDN Connection",
        "required": [
          "connection_name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "fqdn_connection"
          },
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "transport_protocol": {
            "$ref": "#/components/schemas/FqdnConnectionTransportProtocol"
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "microsoft_teams_sbc": {
            "type": "boolean",
            "description": "The connection is enabled for Microsoft Teams Direct Routing.",
            "default": false
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer that the sender and receiver negotiate T38 directly when both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call according to each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "user_name": {
            "type": "string",
            "description": "The username for the FQDN connection."
          },
          "password": {
            "type": "string",
            "description": "The password for the FQDN connection."
          },
          "rtp_pass_codecs_on_stream_change": {
            "type": "boolean",
            "description": "Defines if codecs should be passed on stream change."
          },
          "adjust_dtmf_timestamp": {
            "type": "boolean",
            "description": "Indicates whether DTMF timestamp adjustment is enabled."
          },
          "ignore_dtmf_duration": {
            "type": "boolean",
            "description": "Indicates whether DTMF duration should be ignored."
          },
          "ignore_mark_bit": {
            "type": "boolean",
            "description": "Indicates whether the mark bit should be ignored."
          },
          "call_cost_enabled": {
            "type": "boolean",
            "description": "Indicates whether call cost calculation is enabled."
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "send_normalized_timestamps": {
            "type": "boolean",
            "description": "Indicates whether normalized timestamps should be sent."
          },
          "third_party_control_enabled": {
            "type": "boolean",
            "description": "Indicates whether third-party control is enabled."
          },
          "txt_name": {
            "type": "string",
            "description": "The name for the TXT record associated with the FQDN connection."
          },
          "txt_value": {
            "type": "string",
            "description": "The value for the TXT record associated with the FQDN connection."
          },
          "txt_ttl": {
            "type": "integer",
            "description": "The time to live for the TXT record associated with the FQDN connection."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_api_version": {
            "$ref": "#/components/schemas/WebhookApiVersion"
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          },
          "inbound": {
            "$ref": "#/components/schemas/InboundFqdn"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundFqdn"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "id": "1293384261075731499",
          "record_type": "fqdn_connection",
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "string",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 10,
            "shaken_stir_enabled": true
          },
          "outbound": {
            "ani_override": "string",
            "ani_override_type": "always",
            "call_parking_enabled": true,
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "instant_ringback_enabled": true,
            "ip_authentication_method": "credential-authentication",
            "ip_authentication_token": "string",
            "localization": "string",
            "outbound_voice_profile_id": "1293384261075731499",
            "t38_reinvite_source": "customer",
            "tech_prefix": "string"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        }
      },
      "FqdnConnectionTransportProtocol": {
        "type": "string",
        "description": "One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.",
        "default": "UDP",
        "enum": [
          "UDP",
          "TCP",
          "TLS"
        ]
      },
      "From": {
        "description": "The phone number, in E.164 format, the fax will be sent from.",
        "type": "string",
        "example": "+13125790015"
      },
      "FunctionDefinition": {
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "FunctionDefinition"
      },
      "GCSConfigurationData": {
        "type": "object",
        "title": "Google Cloud Storage Configuration Data",
        "properties": {
          "backend": {
            "type": "string",
            "enum": [
              "gcs"
            ],
            "description": "Storage backend type"
          },
          "credentials": {
            "$ref": "#/components/schemas/Credentials"
          },
          "bucket": {
            "$ref": "#/components/schemas/Bucket"
          }
        },
        "required": [
          "backend"
        ]
      },
      "GatherRequest": {
        "type": "object",
        "title": "Gather",
        "properties": {
          "minimum_digits": {
            "description": "The minimum number of digits to fetch. This parameter has a minimum value of 1.",
            "default": 1,
            "type": "integer",
            "example": 1,
            "format": "int32"
          },
          "maximum_digits": {
            "description": "The maximum number of digits to fetch. This parameter has a maximum value of 128.",
            "default": 128,
            "type": "integer",
            "example": 10,
            "format": "int32"
          },
          "timeout_millis": {
            "description": "The number of milliseconds to wait to complete the request.",
            "default": 60000,
            "type": "integer",
            "example": 60000,
            "format": "int32"
          },
          "inter_digit_timeout_millis": {
            "description": "The number of milliseconds to wait for input between digits.",
            "default": 5000,
            "type": "integer",
            "example": 10000,
            "format": "int32"
          },
          "initial_timeout_millis": {
            "description": "The number of milliseconds to wait for the first DTMF.",
            "default": 5000,
            "type": "integer",
            "example": 10000,
            "format": "int32"
          },
          "terminating_digit": {
            "description": "The digit used to terminate input if fewer than `maximum_digits` digits have been gathered.",
            "default": "#",
            "type": "string",
            "example": "#"
          },
          "valid_digits": {
            "description": "A list of all digits accepted as valid.",
            "default": "0123456789#*",
            "type": "string",
            "example": "123"
          },
          "gather_id": {
            "description": "An id that will be sent back in the corresponding `call.gather.ended` webhook. Will be randomly generated if not specified.",
            "type": "string",
            "example": "my_gather_id",
            "minLength": 1,
            "maxLength": 40
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        }
      },
      "GatherUsingAIRequest": {
        "type": "object",
        "title": "Gather Using AI Request",
        "required": [
          "parameters"
        ],
        "properties": {
          "parameters": {
            "description": "The parameters described as a JSON Schema object that needs to be gathered by the voice assistant. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "example": {
              "properties": {
                "age": {
                  "description": "The age of the customer.",
                  "type": "integer"
                },
                "location": {
                  "description": "The location of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "age",
                "location"
              ],
              "type": "object"
            }
          },
          "assistant": {
            "$ref": "#/components/schemas/Assistant"
          },
          "transcription": {
            "$ref": "#/components/schemas/TranscriptionConfig"
          },
          "language": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/GoogleTranscriptionLanguage"
              }
            ]
          },
          "voice": {
            "$ref": "#/components/schemas/VoiceConfig"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "greeting": {
            "description": "Text that will be played when the gathering starts, if none then nothing will be played when the gathering starts. The greeting can be text for any voice or SSML for `AWS.Polly.<voice_id>` voices. There is a 3,000 character limit.",
            "type": "string",
            "example": "Hello, can you tell me your age and where you live?"
          },
          "send_partial_results": {
            "description": "Default is `false`. If set to `true`, the voice assistant will send partial results via the `call.ai_gather.partial_results` callback in real time as individual fields are gathered. If set to `false`, the voice assistant will only send the final result via the `call.ai_gather.ended` callback.",
            "type": "boolean",
            "example": false
          },
          "send_message_history_updates": {
            "description": "Default is `false`. If set to `true`, the voice assistant will send updates to the message history via the `call.ai_gather.message_history_updated` callback in real time as the message history is updated.",
            "type": "boolean",
            "example": false
          },
          "message_history": {
            "description": "The message history you want the voice assistant to be aware of, this can be useful to keep the context of the conversation, or to pass additional information to the voice assistant.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "content": {
                  "type": "string",
                  "example": "Hello, I'm 29 and I live in Paris.",
                  "description": "The content of the message"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "assistant",
                    "user"
                  ],
                  "example": "user",
                  "description": "The role of the message sender"
                }
              }
            }
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/InterruptionSettings"
          },
          "user_response_timeout_ms": {
            "description": "The maximum time in milliseconds to wait for user response before timing out.",
            "type": "integer",
            "default": 10000,
            "example": 15000
          },
          "gather_ended_speech": {
            "description": "Text that will be played when the gathering has finished. There is a 3,000 character limit.",
            "type": "string",
            "maxLength": 3000,
            "example": "Thank you for providing the information."
          }
        },
        "example": {
          "parameters": {
            "properties": {
              "age": {
                "description": "The age of the customer.",
                "type": "integer"
              },
              "location": {
                "description": "The location of the customer.",
                "type": "string"
              }
            },
            "required": [
              "age",
              "location"
            ],
            "type": "object"
          },
          "voice": "Telnyx.KokoroTTS.af",
          "greeting": "Hello, can you tell me your age and where you live?",
          "send_partial_results": true,
          "send_message_history_updates": true,
          "message_history": [
            {
              "content": "Hello, what's your name?",
              "role": "assistant"
            },
            {
              "content": "Hello, I'm John.",
              "role": "user"
            }
          ],
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "user_response_timeout_ms": 5000
        }
      },
      "GatherUsingAudioRequest": {
        "type": "object",
        "title": "Gather Using Audio Request",
        "properties": {
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played back at the beginning of each prompt. The URL can point to either a WAV or MP3 file. media_name and audio_url cannot be used together in one request."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back at the beginning of each prompt. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "invalid_audio_url": {
            "type": "string",
            "description": "The URL of a file to play when digits don't match the `valid_digits` parameter or the number of digits is not between `min` and `max`. The URL can point to either a WAV or MP3 file. invalid_media_name and invalid_audio_url cannot be used together in one request.",
            "example": "http://example.com/invalid.wav"
          },
          "invalid_media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back when digits don't match the `valid_digits` parameter or the number of digits is not between `min` and `max`. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "minimum_digits": {
            "description": "The minimum number of digits to fetch. This parameter has a minimum value of 1.",
            "default": 1,
            "type": "integer",
            "example": 1,
            "format": "int32"
          },
          "maximum_digits": {
            "description": "The maximum number of digits to fetch. This parameter has a maximum value of 128.",
            "default": 128,
            "type": "integer",
            "example": 10,
            "format": "int32"
          },
          "maximum_tries": {
            "description": "The maximum number of times the file should be played if there is no input from the user on the call.",
            "default": 3,
            "type": "integer",
            "example": 3,
            "format": "int32"
          },
          "timeout_millis": {
            "description": "The number of milliseconds to wait for a DTMF response after file playback ends before a replaying the sound file.",
            "default": 60000,
            "type": "integer",
            "example": 60000,
            "format": "int32"
          },
          "terminating_digit": {
            "description": "The digit used to terminate input if fewer than `maximum_digits` digits have been gathered.",
            "default": "#",
            "type": "string",
            "example": "#"
          },
          "valid_digits": {
            "description": "A list of all digits accepted as valid.",
            "default": "0123456789#*",
            "type": "string",
            "example": "123"
          },
          "inter_digit_timeout_millis": {
            "description": "The number of milliseconds to wait for input between digits.",
            "default": 5000,
            "type": "integer",
            "example": 10000,
            "format": "int32"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "audio_url": "http://example.com/message.wav",
          "invalid_audio_url": "http://example.com/message.wav",
          "minimum_digits": 1,
          "maximum_digits": 10,
          "timeout_millis": 10000,
          "terminating_digit": "#",
          "valid_digits": "123",
          "inter_digit_timeout_millis": 10000,
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "GatherUsingSpeakRequest": {
        "type": "object",
        "title": "Gather Using Speak Request",
        "required": [
          "voice",
          "payload"
        ],
        "properties": {
          "payload": {
            "description": "The text or SSML to be converted into speech. There is a 3,000 character limit.",
            "type": "string",
            "example": "Say this on the call"
          },
          "invalid_payload": {
            "description": "The text or SSML to be converted into speech when digits don't match the `valid_digits` parameter or the number of digits is not between `min` and `max`. There is a 3,000 character limit.",
            "type": "string",
            "example": "Say this on the call"
          },
          "payload_type": {
            "description": "The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).",
            "default": "text",
            "type": "string",
            "enum": [
              "text",
              "ssml"
            ],
            "example": "ssml"
          },
          "service_level": {
            "description": "This parameter impacts speech quality, language options and payload types. When using `basic`, only the `en-US` language and payload type `text` are allowed.",
            "default": "premium",
            "type": "string",
            "enum": [
              "basic",
              "premium"
            ],
            "example": "premium"
          },
          "voice": {
            "description": "Specifies the voice used in speech synthesis.\n\n- Define voices using the format `<Provider>.<Model>.<VoiceId>`. Specifying only the provider will give default values for voice_id and model_id.\n\n **Supported Providers:**\n- **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.\n- **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`, `Azure.en-US-BrianMultilingualNeural`, `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery). Use `voice_settings` to configure custom deployments, regions, or API keys.\n- **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration identifier secret in `\"voice_settings\": {\"api_key_ref\": \"<secret_identifier>\"}`. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](https://elevenlabs.io/docs/api-reference/get-voices).\n- **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`). Use `voice_settings` to configure voice_speed and other synthesis parameters.\n- **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g., `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`, `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings` to configure speed, volume, pitch, and language_boost.\n- **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`). Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure voice_speed.\n- **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g., `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use `voice_settings` to configure precision, sample_rate, and format.\n- **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.\n- **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`, `ara`, `rex`, `sal`, `leo`.\n\nFor service_level basic, you may define the gender of the speaker (male or female).",
            "type": "string",
            "example": "Telnyx.KokoroTTS.af"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/MinimaxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/InworldVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "minimax": "#/components/schemas/MinimaxVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "inworld": "#/components/schemas/InworldVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "language": {
            "description": "The language you want spoken. This parameter is ignored when a `Polly.*` voice is specified.",
            "type": "string",
            "enum": [
              "arb",
              "cmn-CN",
              "cy-GB",
              "da-DK",
              "de-DE",
              "en-AU",
              "en-GB",
              "en-GB-WLS",
              "en-IN",
              "en-US",
              "es-ES",
              "es-MX",
              "es-US",
              "fr-CA",
              "fr-FR",
              "hi-IN",
              "is-IS",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "nb-NO",
              "nl-NL",
              "pl-PL",
              "pt-BR",
              "pt-PT",
              "ro-RO",
              "ru-RU",
              "sv-SE",
              "tr-TR"
            ],
            "example": "en-US"
          },
          "minimum_digits": {
            "description": "The minimum number of digits to fetch. This parameter has a minimum value of 1.",
            "default": 1,
            "type": "integer",
            "example": 1,
            "format": "int32"
          },
          "maximum_digits": {
            "description": "The maximum number of digits to fetch. This parameter has a maximum value of 128.",
            "default": 128,
            "type": "integer",
            "example": 10,
            "format": "int32"
          },
          "maximum_tries": {
            "description": "The maximum number of times that a file should be played back if there is no input from the user on the call.",
            "default": 3,
            "type": "integer",
            "example": 3,
            "format": "int32"
          },
          "timeout_millis": {
            "description": "The number of milliseconds to wait for a DTMF response after speak ends before a replaying the sound file.",
            "default": 60000,
            "type": "integer",
            "example": 60000,
            "format": "int32"
          },
          "terminating_digit": {
            "description": "The digit used to terminate input if fewer than `maximum_digits` digits have been gathered.",
            "default": "#",
            "type": "string",
            "example": "#"
          },
          "valid_digits": {
            "description": "A list of all digits accepted as valid.",
            "default": "0123456789#*",
            "type": "string",
            "example": "123"
          },
          "inter_digit_timeout_millis": {
            "description": "The number of milliseconds to wait for input between digits.",
            "default": 5000,
            "type": "integer",
            "example": 10000,
            "format": "int32"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "payload": "say this on call",
          "invalid_payload": "say this on call",
          "payload_type": "text",
          "service_level": "premium",
          "voice": "male",
          "language": "arb",
          "minimum_digits": 1,
          "maximum_digits": 10,
          "terminating_digit": "#",
          "valid_digits": "123",
          "inter_digit_timeout_millis": 10000,
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "GcbChannelZone": {
        "title": "Channel zone object",
        "required": [
          "record_type",
          "countries",
          "id",
          "name",
          "channels"
        ],
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "channel_zone"
            ],
            "example": "channel_zone"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of countries (in ISO 3166-2, capitalized) members of the billing channel zone",
            "example": [
              "BE",
              "EL",
              "LT",
              "PT",
              "BG",
              "ES",
              "LU",
              "RO",
              "CZ",
              "FR",
              "HU",
              "SI",
              "DK",
              "HR",
              "MT",
              "SK",
              "DE",
              "IT",
              "NL",
              "FI",
              "EE",
              "CY",
              "AT",
              "SE",
              "IE",
              "LV",
              "PL"
            ]
          },
          "id": {
            "type": "string",
            "example": "1653e6a1-4bfd-4857-97c6-6a51e1c34477"
          },
          "name": {
            "type": "string",
            "example": "Euro channel zone"
          },
          "channels": {
            "type": "integer",
            "format": "int64",
            "example": 7
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the channel zone was created",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the channel zone was updated",
            "example": "2019-01-23T18:10:02.574Z"
          }
        }
      },
      "GenerateSpeechRequest": {
        "type": "object",
        "description": "Request body for generating speech from text.",
        "properties": {
          "voice": {
            "type": "string",
            "description": "Voice identifier in the format `provider.model_id.voice_id` or `provider.voice_id`. Examples: `telnyx.NaturalHD.Alloy`, `Telnyx.Ultra.<voice_id>`, `azure.en-US-AvaMultilingualNeural`, `aws.Polly.Generative.Lucia`. When provided, `provider`, `model_id`, and `voice_id` are extracted automatically and take precedence over individual parameters."
          },
          "text": {
            "type": "string",
            "description": "The text to convert to speech."
          },
          "provider": {
            "type": "string",
            "description": "TTS provider. Required unless `voice` is provided.",
            "enum": [
              "aws",
              "telnyx",
              "azure",
              "elevenlabs",
              "minimax",
              "rime",
              "resemble",
              "xai"
            ]
          },
          "language": {
            "type": "string",
            "description": "Language code (e.g. `en-US`). Usage varies by provider."
          },
          "text_type": {
            "type": "string",
            "description": "Text type. Use `ssml` for SSML-formatted input (supported by AWS and Azure).",
            "enum": [
              "text",
              "ssml"
            ]
          },
          "output_type": {
            "type": "string",
            "description": "Determines the response format. `binary_output` returns raw audio bytes, `base64_output` returns base64-encoded audio in JSON.",
            "enum": [
              "binary_output",
              "base64_output"
            ],
            "default": "binary_output"
          },
          "disable_cache": {
            "type": "boolean",
            "description": "When `true`, bypass the audio cache and generate fresh audio.",
            "default": false
          },
          "voice_settings": {
            "type": "object",
            "description": "Provider-specific voice settings. Contents vary by provider — see provider-specific parameter objects below.",
            "additionalProperties": true
          },
          "aws": {
            "$ref": "#/components/schemas/AwsProviderParams"
          },
          "telnyx": {
            "$ref": "#/components/schemas/TelnyxProviderParams"
          },
          "azure": {
            "$ref": "#/components/schemas/AzureProviderParams"
          },
          "elevenlabs": {
            "$ref": "#/components/schemas/ElevenLabsProviderParams"
          },
          "minimax": {
            "$ref": "#/components/schemas/MinimaxProviderParams"
          },
          "rime": {
            "$ref": "#/components/schemas/RimeProviderParams"
          },
          "resemble": {
            "$ref": "#/components/schemas/ResembleProviderParams"
          },
          "xai": {
            "$ref": "#/components/schemas/XAIProviderParams"
          }
        }
      },
      "GenericError": {
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "GetInsightTemplateGroupsRespData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/InsightTemplateGroupResp"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "GetInsightTemplateGroupsRespData"
      },
      "GetInsightTemplatesRespData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/InsightTemplateResp"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "GetInsightTemplatesRespData"
      },
      "GetSubRequestByPortingOrder": {
        "type": "object",
        "properties": {
          "sub_request_id": {
            "type": "string",
            "description": "Identifies the Sub Request associated with the Porting Order",
            "example": "9787fb5f-cbe5-4de4-b765-3303774ee9fe"
          },
          "port_request_id": {
            "type": "string",
            "description": "Identifies the Port Request associated with the Porting Order",
            "example": "59b0762a-b274-4f76-ac32-4d5cf0272e66"
          }
        }
      },
      "GlobalIP": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "type": "object",
            "title": "Global IP",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip"
              },
              "ip_address": {
                "type": "string",
                "description": "The Global IP address.",
                "readOnly": true,
                "example": "198.51.100.1"
              },
              "ports": {
                "type": "object",
                "description": "A Global IP ports grouped by protocol code.",
                "example": {
                  "tcp": [
                    80,
                    8080
                  ],
                  "udp": [
                    5000,
                    5050
                  ]
                },
                "additionalProperties": true
              },
              "name": {
                "type": "string",
                "description": "A user specified name for the address.",
                "example": "test interface"
              },
              "description": {
                "type": "string",
                "description": "A user specified description for the address.",
                "example": "test interface"
              }
            }
          }
        ]
      },
      "GlobalIPAllowedPort": {
        "allOf": [
          {
            "type": "object",
            "title": "Global IP Allowed Port Range",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Identifies the resource.",
                "readOnly": true,
                "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
              },
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip_allowed_port"
              },
              "protocol_code": {
                "type": "string",
                "description": "The Global IP Protocol code.",
                "readOnly": true,
                "example": "tcp"
              },
              "name": {
                "type": "string",
                "description": "A name for the Global IP ports range.",
                "example": "TCP Registered"
              },
              "first_port": {
                "type": "integer",
                "description": "First port of a range.",
                "example": 1024
              },
              "last_port": {
                "type": "integer",
                "description": "Last port of a range.",
                "example": 49151
              }
            }
          }
        ]
      },
      "GlobalIPHealthCheck": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "type": "object",
            "title": "Global IP health check",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip_health_check"
              },
              "health_check_type": {
                "type": "string",
                "description": "The Global IP health check type.",
                "example": "http_status_2xx"
              },
              "health_check_params": {
                "type": "object",
                "description": "A Global IP health check params.",
                "example": {
                  "path": "/",
                  "port": 8080
                },
                "additionalProperties": true
              },
              "global_ip_id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              }
            }
          }
        ]
      },
      "GlobalIPProtocol": {
        "allOf": [
          {
            "type": "object",
            "title": "Global IP Protocol",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip_protocol"
              },
              "code": {
                "type": "string",
                "description": "The Global IP Protocol code.",
                "readOnly": true,
                "example": "tcp"
              },
              "name": {
                "type": "string",
                "description": "A name for Global IP Protocol.",
                "example": "TCP"
              }
            }
          }
        ]
      },
      "GlobalIpAssignment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "type": "object",
            "title": "Global IP",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip_assignment"
              },
              "global_ip_id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "wireguard_peer_id": {
                "type": "string",
                "format": "uuid",
                "description": "Wireguard peer ID.",
                "example": "e66c496d-4a85-423b-8b2a-8e63fac20320"
              },
              "status": {
                "$ref": "#/components/schemas/InterfaceStatus"
              },
              "is_connected": {
                "type": "boolean",
                "readOnly": true,
                "description": "Wireguard peer is connected."
              },
              "is_in_maintenance": {
                "type": "boolean",
                "description": "Enable/disable BGP announcement."
              },
              "is_announced": {
                "type": "boolean",
                "readOnly": true,
                "description": "Status of BGP announcement."
              }
            }
          }
        ]
      },
      "GlobalIpAssignmentHealthMetric": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the metric.",
            "example": "2020-01-01T00:00:00.000Z"
          },
          "global_ip": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "ip_address": {
                "type": "string",
                "description": "The Global IP address.",
                "readOnly": true,
                "example": "192.0.2.1"
              }
            }
          },
          "global_ip_assignment": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP assignment ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "wireguard_peer_id": {
                "type": "string",
                "format": "uuid",
                "description": "Wireguard peer ID.",
                "example": "e66c496d-4a85-423b-8b2a-8e63fac20320"
              },
              "wireguard_peer": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A user specified name for the interface.",
                    "example": "Wireguard Peer 1"
                  },
                  "ip_address": {
                    "type": "string",
                    "description": "The IP address of the interface.",
                    "example": "73.47.1.23"
                  }
                }
              }
            }
          },
          "health": {
            "type": "object",
            "properties": {
              "pass": {
                "type": "number",
                "description": "The number of successful health checks.",
                "example": 100
              },
              "fail": {
                "type": "number",
                "description": "The number of failed health checks.",
                "example": 0
              }
            }
          }
        }
      },
      "GlobalIpAssignmentUpdate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GlobalIpAssignment"
          },
          {
            "type": "object",
            "title": "Global IP",
            "properties": {
              "global_ip_id": {
                "readOnly": true,
                "type": "string"
              },
              "wireguard_peer_id": {
                "readOnly": true,
                "type": "string"
              }
            }
          }
        ]
      },
      "GlobalIpAssignmentUsageMetric": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the metric.",
            "example": "2020-01-01T00:00:00.000Z"
          },
          "global_ip": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "ip_address": {
                "type": "string",
                "description": "The Global IP address.",
                "readOnly": true,
                "example": "64.1.4.130"
              }
            }
          },
          "global_ip_assignment": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP assignment ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "wireguard_peer_id": {
                "type": "string",
                "format": "uuid",
                "description": "Wireguard peer ID.",
                "example": "e66c496d-4a85-423b-8b2a-8e63fac20320"
              },
              "wireguard_peer": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A user specified name for the interface.",
                    "example": "Wireguard Peer 1"
                  },
                  "ip_address": {
                    "type": "string",
                    "description": "The IP address of the interface.",
                    "example": "172.1.0.1"
                  }
                }
              }
            }
          },
          "transmitted": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "The amount of data transmitted.",
                "example": 100000
              },
              "unit": {
                "type": "string",
                "description": "The unit of the amount of data transmitted.",
                "example": "B"
              }
            }
          },
          "received": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "The amount of data received.",
                "example": 100000
              },
              "unit": {
                "type": "string",
                "description": "The unit of the amount of data received.",
                "example": "B"
              }
            }
          }
        }
      },
      "GlobalIpHealthCheckType": {
        "allOf": [
          {
            "type": "object",
            "title": "Global IP Health Check Type",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "global_ip_health_check_type"
              },
              "health_check_type": {
                "type": "string",
                "description": "Global IP Health check type.",
                "example": "http_status_2xx"
              },
              "health_check_params": {
                "type": "object",
                "description": "Global IP Health check params.",
                "example": {
                  "health_check_params": {
                    "path": "str",
                    "port": "int"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        ]
      },
      "GlobalIpLatencyMetric": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the metric.",
            "example": "2020-01-01T00:00:00.000Z"
          },
          "global_ip": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "ip_address": {
                "type": "string",
                "description": "The Global IP address.",
                "readOnly": true,
                "example": "192.0.2.1"
              }
            }
          },
          "prober_location": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Location ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "name": {
                "type": "string",
                "description": "Location name.",
                "example": "Amsterdam"
              },
              "lat": {
                "type": "number",
                "description": "Latitude.",
                "example": 52.370216
              },
              "lon": {
                "type": "number",
                "description": "Longitude.",
                "example": 4.895168
              }
            }
          },
          "mean_latency": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "The average latency.",
                "example": 100
              },
              "unit": {
                "type": "string",
                "description": "The unit of the average latency.",
                "example": "ms"
              }
            }
          },
          "percentile_latency": {
            "type": "object",
            "properties": {
              "0": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The minimum latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the minimum latency.",
                    "example": "ms"
                  }
                }
              },
              "25": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The 25th percentile latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the 25th percentile latency.",
                    "example": "ms"
                  }
                }
              },
              "50": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The 50th percentile latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the 50th percentile latency.",
                    "example": "ms"
                  }
                }
              },
              "75": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The 75th percentile latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the 75th percentile latency.",
                    "example": "ms"
                  }
                }
              },
              "90": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The 90th percentile latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the 90th percentile latency.",
                    "example": "ms"
                  }
                }
              },
              "99": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The 99th percentile latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the 99th percentile latency.",
                    "example": "ms"
                  }
                }
              },
              "100": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "The maximum latency.",
                    "example": 100
                  },
                  "unit": {
                    "type": "string",
                    "description": "The unit of the maximum latency.",
                    "example": "ms"
                  }
                }
              }
            }
          }
        }
      },
      "GlobalIpUsageMetric": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the metric.",
            "example": "2020-01-01T00:00:00.000Z"
          },
          "global_ip": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "Global IP ID.",
                "example": "a836125b-20b6-452e-9c03-2653f09c7ed7"
              },
              "ip_address": {
                "type": "string",
                "description": "The Global IP address.",
                "readOnly": true,
                "example": "64.1.2.130"
              }
            }
          },
          "transmitted": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "The amount of data transmitted.",
                "example": 100000
              },
              "unit": {
                "type": "string",
                "description": "The unit of the amount of data transmitted.",
                "example": "B"
              }
            }
          },
          "received": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "The amount of data received.",
                "example": 100000
              },
              "unit": {
                "type": "string",
                "description": "The unit of the amount of data received.",
                "example": "B"
              }
            }
          }
        }
      },
      "GoogleTranscriptionLanguage": {
        "title": "Google transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition",
        "example": "en",
        "default": "en",
        "enum": [
          "af",
          "sq",
          "am",
          "ar",
          "hy",
          "az",
          "eu",
          "bn",
          "bs",
          "bg",
          "my",
          "ca",
          "yue",
          "zh",
          "hr",
          "cs",
          "da",
          "nl",
          "en",
          "et",
          "fil",
          "fi",
          "fr",
          "gl",
          "ka",
          "de",
          "el",
          "gu",
          "iw",
          "hi",
          "hu",
          "is",
          "id",
          "it",
          "ja",
          "jv",
          "kn",
          "kk",
          "km",
          "ko",
          "lo",
          "lv",
          "lt",
          "mk",
          "ms",
          "ml",
          "mr",
          "mn",
          "ne",
          "no",
          "fa",
          "pl",
          "pt",
          "pa",
          "ro",
          "ru",
          "rw",
          "sr",
          "si",
          "sk",
          "sl",
          "ss",
          "st",
          "es",
          "su",
          "sw",
          "sv",
          "ta",
          "te",
          "th",
          "tn",
          "tr",
          "ts",
          "uk",
          "ur",
          "uz",
          "ve",
          "vi",
          "xh",
          "zu"
        ]
      },
      "HTTPValidationError": {
        "title": "HTTPValidationError",
        "type": "object",
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            }
          }
        }
      },
      "HandoffTool": {
        "description": "The handoff tool allows the assistant to hand off control of the conversation to another AI assistant. By default, this will happen transparently to the end user.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "handoff"
            ]
          },
          "handoff": {
            "$ref": "#/components/schemas/HandoffToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "handoff"
        ],
        "title": "HandoffTool"
      },
      "HandoffToolParams": {
        "properties": {
          "voice_mode": {
            "type": "string",
            "enum": [
              "unified",
              "distinct"
            ],
            "description": "With the unified voice mode all assistants share the same voice, making the handoff transparent to the user. With the distinct voice mode all assistants retain their voice configuration, providing the experience of a conference call with a team of assistants."
          },
          "ai_assistants": {
            "type": "array",
            "description": "List of possible assistants that can receive a handoff.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Helpful name for giving context on when to handoff to the assistant.",
                  "example": "Scheduling Specialist"
                },
                "id": {
                  "type": "string",
                  "description": "The ID of the assistant to hand off to.",
                  "example": "assistant-1234567890abcdef"
                }
              },
              "required": [
                "name",
                "id"
              ]
            }
          }
        },
        "required": [
          "ai_assistants"
        ],
        "type": "object",
        "title": "HandoffToolParams"
      },
      "HangupRequest": {
        "type": "object",
        "title": "Hangup Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP BYE message.",
            "type": "array",
            "example": [
              {
                "name": "head_1",
                "value": "val_1"
              },
              {
                "name": "head_2",
                "value": "val_2"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/CustomSipHeader"
            }
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "HangupTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "hangup"
            ]
          },
          "hangup": {
            "$ref": "#/components/schemas/HangupToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "hangup"
        ],
        "title": "HangupTool"
      },
      "HangupToolParams": {
        "properties": {
          "description": {
            "type": "string",
            "default": "This tool is used to hang up the call.",
            "description": "The description of the function that will be passed to the assistant."
          }
        },
        "type": "object",
        "title": "HangupToolParams"
      },
      "HostedNumber": {
        "example": {
          "record_type": "messaging_hosted_number",
          "id": "bf6307bd-884d-4c1f-b6ea-c62b8c495d3c",
          "phone_number": "+18665550001",
          "status": "successful"
        },
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "messaging_hosted_number"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "x-format": "+E.164",
            "description": "The messaging hosted phone number (+E.164 format)"
          },
          "status": {
            "type": "string",
            "enum": [
              "deleted",
              "failed",
              "failed_activation",
              "failed_carrier_rejected",
              "failed_ineligible_carrier",
              "failed_number_already_hosted",
              "failed_number_not_found",
              "failed_ownership_verification",
              "failed_timeout",
              "pending",
              "provisioning",
              "successful"
            ]
          }
        }
      },
      "HostedNumberOrder": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the event."
          },
          "event_type": {
            "type": "string",
            "example": "messaging_hosted_numbers_orders.created",
            "enum": [
              "messaging_hosted_numbers_orders.created",
              "messaging_hosted_numbers_orders.updated",
              "messaging_hosted_numbers_orders.deleted",
              "messaging_hosted_numbers_orders.internal_transfer_detected",
              "messaging_hosted_numbers_orders.internal_transfer_approval_requested",
              "messaging_hosted_numbers_orders.internal_transfer_approved",
              "messaging_hosted_numbers_orders.internal_transfer_rejected",
              "messaging_hosted_numbers_orders.internal_transfer_auto_approved"
            ],
            "description": "The type of event being delivered. Internal transfer events are only emitted for orders where the numbers are already active on another Telnyx account."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the event was generated."
          },
          "payload": {
            "$ref": "#/components/schemas/HostedNumberOrderEventPayload"
          }
        },
        "example": {
          "record_type": "event",
          "id": "bf6307bd-884d-4c1f-b6ea-c62b8c495d3c",
          "event_type": "messaging_hosted_numbers_orders.internal_transfer_approval_requested",
          "occurred_at": "2026-04-20T18:10:02.574Z",
          "payload": {
            "order_id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "order_status": "pending",
            "profile_id": "d0b1dabe-efdb-4bc8-9dd3-11f0d8b5f5b3",
            "user_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
            "numbers": [
              {
                "value": "+13125550001",
                "status": "pending"
              }
            ],
            "decision": "pending",
            "approval_deadline": 1714521600
          }
        }
      },
      "HostedNumberOrderEvent": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/HostedNumberOrder"
          }
        }
      },
      "HostedNumberOrderEventPayload": {
        "type": "object",
        "description": "Payload delivered with every messaging_hosted_numbers_orders.* event. `approval_deadline` and `decision` are meaningful only for `internal_transfer_*` events.",
        "properties": {
          "order_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the hosted number order."
          },
          "order_status": {
            "type": "string",
            "enum": [
              "pending",
              "provisioning",
              "successful",
              "failed",
              "deleted",
              "carrier_rejected",
              "compliance_review_failed",
              "incomplete_documentation",
              "incorrect_billing_information",
              "ineligible_carrier",
              "loa_file_invalid",
              "loa_file_successful"
            ],
            "description": "Current status of the order."
          },
          "profile_id": {
            "type": "string",
            "format": "uuid",
            "description": "The messaging profile associated with the order."
          },
          "user_id": {
            "type": "string",
            "description": "The organization that owns the order."
          },
          "numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "x-format": "+E.164",
                  "description": "Phone number in +E.164 format."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "failed",
                    "failed_activation",
                    "failed_carrier_rejected",
                    "failed_ineligible_carrier",
                    "failed_number_already_hosted",
                    "failed_number_not_found",
                    "failed_ownership_verification",
                    "failed_timeout",
                    "ownership_successful",
                    "pending",
                    "provisioning",
                    "successful"
                  ],
                  "description": "Current status of this phone number within the order."
                }
              }
            }
          },
          "decision": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected"
            ],
            "description": "Approval decision for the internal transfer. Defaults to `pending` for non-internal-transfer events."
          },
          "approval_deadline": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "Unix timestamp (seconds) by which the losing organization must respond before auto-approval. Populated on internal-transfer events once an approval window has been issued."
          }
        }
      },
      "Id": {
        "type": "string",
        "format": "uuid",
        "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
        "description": "Identifies the type of resource."
      },
      "ImportAssistantsRequest": {
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "elevenlabs",
              "vapi",
              "retell"
            ],
            "description": "The external provider to import assistants from."
          },
          "api_key_ref": {
            "type": "string",
            "description": "Integration secret pointer that refers to the API key for the external provider. This should be an identifier for an integration secret created via /v2/integration_secrets."
          },
          "import_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional list of assistant IDs to import from the external provider. If not provided, all assistants will be imported."
          }
        },
        "type": "object",
        "required": [
          "provider",
          "api_key_ref"
        ],
        "title": "ImportAssistantsRequest"
      },
      "ImportExternalVetting": {
        "title": "ImportExternalVetting",
        "required": [
          "evpId",
          "vettingId"
        ],
        "type": "object",
        "properties": {
          "evpId": {
            "title": "Evpid",
            "maxLength": 10,
            "type": "string",
            "description": "External vetting provider ID for the brand."
          },
          "vettingId": {
            "title": "Vettingid",
            "type": "string",
            "description": "Unique ID that identifies a vetting transaction performed by a vetting provider. This ID is provided by the vetting provider at time of vetting."
          },
          "vettingToken": {
            "title": "Vettingtoken",
            "type": "string",
            "description": "Required by some providers for vetting record confirmation."
          }
        }
      },
      "ImportMetadata": {
        "properties": {
          "import_provider": {
            "type": "string",
            "enum": [
              "elevenlabs",
              "vapi",
              "retell"
            ],
            "description": "Provider the assistant was imported from."
          },
          "import_id": {
            "type": "string",
            "description": "ID of the assistant in the provider's system."
          }
        },
        "type": "object"
      },
      "InboundFqdn": {
        "type": "object",
        "title": "Inbound FQDN",
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_routing_method": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "sequential",
              "round-robin",
              null
            ],
            "default": "sequential",
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or null, other values are not allowed."
          },
          "default_primary_fqdn_id": {
            "type": [
              "string",
              "null"
            ],
            "x-format": "int64",
            "default": null,
            "description": "The default primary FQDN to use for the number. Only settable if the connection is\nof FQDN type. Value must be the ID of an FQDN set on the connection."
          },
          "default_secondary_fqdn_id": {
            "type": [
              "string",
              "null"
            ],
            "x-format": "int64",
            "default": null,
            "description": "The default secondary FQDN to use for the number. Only settable if the connection is\nof FQDN type. Value must be the ID of an FQDN set on the connection."
          },
          "default_tertiary_fqdn_id": {
            "type": [
              "string",
              "null"
            ],
            "x-format": "int64",
            "default": null,
            "description": "The default tertiary FQDN to use for the number. Only settable if the connection is\nof FQDN type. Value must be the ID of an FQDN set on the connection."
          },
          "channel_limit": {
            "type": [
              "integer",
              "null"
            ],
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "sip_region": {
            "type": "string",
            "default": "US",
            "description": "Selects which `sip_region` to receive inbound calls from. If null, the default region (US) will be used.",
            "enum": [
              "US",
              "Europe",
              "Australia"
            ]
          },
          "sip_subdomain": {
            "type": [
              "string",
              "null"
            ],
            "default": null,
            "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls."
          },
          "sip_subdomain_receive_settings": {
            "type": "string",
            "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
            "enum": [
              "only_my_connections",
              "from_anyone"
            ],
            "default": "from_anyone"
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "minimum": 1,
            "maximum": 600,
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          }
        },
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_routing_method": "sequential",
          "default_primary_fqdn_id": "1293384261075731497",
          "default_secondary_fqdn_id": "1293384261075731498",
          "default_tertiary_fqdn_id": "1293384261075731499",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "sip_region": "US",
          "sip_subdomain": "test",
          "sip_subdomain_receive_settings": "only_my_connections",
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true
        }
      },
      "InboundIp": {
        "type": "object",
        "title": "Inbound Ip",
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_primary_ip_id": "192.168.0.0",
          "default_tertiary_ip_id": "192.168.0.0",
          "default_secondary_ip_id": "192.168.0.0",
          "default_routing_method": "sequential",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "sip_region": "US",
          "sip_subdomain": "test",
          "sip_subdomain_receive_settings": "only_my_connections",
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true
        },
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_primary_ip_id": {
            "type": "string",
            "description": "The default primary IP to use for the number. Only settable if the connection is\n              of IP authentication type. Value must be the ID of an authorized IP set on the connection.",
            "example": "192.168.0.0"
          },
          "default_secondary_ip_id": {
            "type": "string",
            "description": "The default secondary IP to use for the number. Only settable if the connection is\n              of IP authentication type. Value must be the ID of an authorized IP set on the connection.",
            "example": "192.168.0.0"
          },
          "default_tertiary_ip_id": {
            "type": "string",
            "description": "The default tertiary IP to use for the number. Only settable if the connection is\n              of IP authentication type. Value must be the ID of an authorized IP set on the connection.",
            "example": "192.168.0.0"
          },
          "default_routing_method": {
            "type": "string",
            "enum": [
              "sequential",
              "round-robin"
            ],
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed."
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection.",
            "example": 10
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "sip_region": {
            "type": "string",
            "default": "US",
            "description": "Selects which `sip_region` to receive inbound calls from. If null, the default region (US) will be used.",
            "enum": [
              "US",
              "Europe",
              "Australia"
            ]
          },
          "sip_subdomain": {
            "type": "string",
            "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls."
          },
          "sip_subdomain_receive_settings": {
            "type": "string",
            "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
            "enum": [
              "only_my_connections",
              "from_anyone"
            ]
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          }
        }
      },
      "InboundMessage": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "event_type": {
            "type": "string",
            "example": "message.received",
            "enum": [
              "message.received"
            ],
            "description": "The type of event being delivered."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created."
          },
          "payload": {
            "$ref": "#/components/schemas/InboundMessagePayload"
          }
        },
        "example": {
          "record_type": "event",
          "id": "bf6307bd-884d-4c1f-b6ea-c62b8c495d3c",
          "event_type": "message.received",
          "occurred_at": "2019-01-23T18:10:02.574Z",
          "payload": {
            "record_type": "message",
            "direction": "inbound",
            "id": "7ee4241c-f127-47e5-9c34-3aac291f8058",
            "type": "SMS",
            "messaging_profile_id": "0f512bda-ae1e-4597-8e11-e5f5686b97d3",
            "organization_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
            "from": {
              "phone_number": "+18665550001",
              "carrier": "T-MOBILE USA, INC.",
              "line_type": "Wireless"
            },
            "to": [
              {
                "phone_number": "+18445550001",
                "status": "delivered",
                "carrier": "TELNYX LLC",
                "line_type": "VoIP"
              }
            ],
            "cc": [],
            "text": "Hello, World!",
            "subject": "From Telnyx!",
            "media": [],
            "webhook_url": "https://www.example.com/hooks",
            "webhook_failover_url": "https://backup.example.com/hooks",
            "encoding": "GSM-7",
            "parts": 1,
            "tags": [
              "Greetings"
            ],
            "cost": {
              "amount": "0.0051",
              "currency": "USD"
            },
            "cost_breakdown": {
              "carrier_fee": {
                "amount": "0.00305",
                "currency": "USD"
              },
              "rate": {
                "amount": "0.00205",
                "currency": "USD"
              }
            },
            "tcr_campaign_id": "TCPA3X7",
            "tcr_campaign_billable": true,
            "tcr_campaign_registered": "REGISTERED",
            "received_at": "2019-01-23T18:10:02.574Z",
            "sent_at": null,
            "completed_at": null,
            "valid_until": null,
            "errors": []
          }
        }
      },
      "InboundMessageEvent": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/InboundMessage"
          }
        }
      },
      "InboundMessagePayload": {
        "properties": {
          "record_type": {
            "type": "string",
            "example": "message",
            "enum": [
              "message"
            ],
            "description": "Identifies the type of the resource."
          },
          "direction": {
            "type": "string",
            "example": "inbound",
            "enum": [
              "inbound"
            ],
            "description": "The direction of the message. Inbound messages are sent to you whereas outbound messages are sent from you."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "type": {
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ],
            "description": "The type of message. This value can be either 'sms' or 'mms'."
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "organization_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "to": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "sending",
                    "sent",
                    "delivered",
                    "sending_failed",
                    "delivery_failed",
                    "delivery_unconfirmed",
                    "webhook_delivered"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "sending",
                    "sent",
                    "delivered",
                    "sending_failed",
                    "delivery_failed",
                    "delivery_unconfirmed"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "from": {
            "type": "object",
            "properties": {
              "phone_number": {
                "type": "string",
                "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
                "x-format": "address"
              },
              "status": {
                "type": "string",
                "enum": [
                  "received",
                  "delivered"
                ]
              },
              "carrier": {
                "type": "string",
                "description": "The carrier of the sender."
              },
              "line_type": {
                "type": "string",
                "description": "The line-type of the sender.",
                "enum": [
                  "Wireline",
                  "Wireless",
                  "VoWiFi",
                  "VoIP",
                  "Pre-Paid Wireless",
                  ""
                ]
              }
            }
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ],
            "description": "Message subject."
          },
          "media": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "url",
                  "description": "The url of the media requested to be sent."
                },
                "content_type": {
                  "type": "string",
                  "description": "The MIME type of the requested media.",
                  "x-format": "mime-type"
                },
                "size": {
                  "type": "integer",
                  "description": "The size of the requested media."
                },
                "hash_sha256": {
                  "type": "string",
                  "minLength": 32,
                  "maxLength": 32,
                  "description": "The SHA256 hash of the requested media."
                }
              }
            }
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The URL where webhooks related to this message will be sent."
          },
          "webhook_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails."
          },
          "encoding": {
            "type": "string",
            "description": "Encoding scheme used for the message body."
          },
          "parts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Number of parts into which the message's body must be split."
          },
          "tags": {
            "type": "array",
            "description": "Tags associated with the resource.",
            "items": {
              "type": "string"
            }
          },
          "cost": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "type": "string",
                "description": "The amount deducted from your account.",
                "x-format": "decimal"
              },
              "currency": {
                "type": "string",
                "description": "The ISO 4217 currency identifier.",
                "x-format": "iso4217"
              }
            }
          },
          "cost_breakdown": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "carrier_fee": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The carrier fee amount.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              },
              "rate": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The rate amount applied.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              }
            },
            "description": "Detailed breakdown of the message cost components."
          },
          "tcr_campaign_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Campaign Registry (TCR) campaign ID associated with the message."
          },
          "tcr_campaign_billable": {
            "type": "boolean",
            "description": "Indicates whether the TCR campaign is billable."
          },
          "tcr_campaign_registered": {
            "type": [
              "string",
              "null"
            ],
            "description": "The registration status of the TCR campaign.",
            "example": "REGISTERED"
          },
          "received_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message request was received."
          },
          "sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Not used for inbound messages."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Not used for inbound messages."
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ],
            "description": "Not used for inbound messages.",
            "format": "date-time"
          },
          "errors": {
            "type": "array",
            "description": "These errors may point at addressees when referring to unsuccessful/unconfirmed delivery statuses.",
            "items": {
              "$ref": "#/components/schemas/messaging_Error"
            }
          }
        },
        "example": {
          "record_type": "message",
          "direction": "inbound",
          "id": "7ee4241c-f127-47e5-9c34-3aac291f8058",
          "type": "SMS",
          "messaging_profile_id": "0f512bda-ae1e-4597-8e11-e5f5686b97d3",
          "organization_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
          "from": {
            "phone_number": "+18665550001",
            "status": "delivered",
            "carrier": "T-MOBILE USA, INC.",
            "line_type": "Wireless"
          },
          "to": [
            {
              "phone_number": "+18445550001",
              "status": "delivered",
              "carrier": "TELNYX LLC",
              "line_type": "VoIP"
            }
          ],
          "cc": [],
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media": [],
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "encoding": "GSM-7",
          "parts": 1,
          "tags": [
            "Greetings"
          ],
          "cost": {
            "amount": "0.0051",
            "currency": "USD"
          },
          "cost_breakdown": {
            "carrier_fee": {
              "amount": "0.00305",
              "currency": "USD"
            },
            "rate": {
              "amount": "0.00205",
              "currency": "USD"
            }
          },
          "tcr_campaign_id": "TCPA3X7",
          "tcr_campaign_billable": true,
          "tcr_campaign_registered": "REGISTERED",
          "received_at": "2019-01-23T18:10:02.574Z",
          "sent_at": null,
          "completed_at": null,
          "valid_until": null,
          "errors": []
        }
      },
      "InexplicitNumberOrderRequest": {
        "type": "object",
        "properties": {
          "ordering_groups": {
            "type": "array",
            "description": "Group(s) of numbers to order. You can have multiple ordering_groups objects added to a single request.",
            "items": {
              "type": "object",
              "properties": {
                "country_iso": {
                  "type": "string",
                  "description": "Country where you would like to purchase phone numbers. Allowable values: US, CA",
                  "enum": [
                    "US",
                    "CA"
                  ]
                },
                "count_requested": {
                  "type": "string",
                  "description": "Quantity of phone numbers to order"
                },
                "phone_number_type": {
                  "type": "string",
                  "description": "Number type (local, toll-free, etc.)"
                },
                "national_destination_code": {
                  "type": "string",
                  "description": "Filter by area code"
                },
                "phone_number": {
                  "type": "object",
                  "description": "Phone number search criteria",
                  "properties": {
                    "starts_with": {
                      "type": "string",
                      "description": "Filter by the starting digits of the phone number"
                    },
                    "ends_with": {
                      "type": "string",
                      "description": "Filter by the ending digits of the phone number"
                    },
                    "contains": {
                      "type": "string",
                      "description": "Filter for phone numbers that contain the digits specified"
                    }
                  }
                },
                "administrative_area": {
                  "type": "string",
                  "description": "Filter for phone numbers in a given state / province"
                },
                "locality": {
                  "type": "string",
                  "description": "Filter for phone numbers in a given city / region / rate center"
                },
                "features": {
                  "type": "array",
                  "description": "Filter for phone numbers that have the features to satisfy your use case (e.g., [\"voice\"])",
                  "items": {
                    "type": "string"
                  }
                },
                "strategy": {
                  "type": "string",
                  "description": "Ordering strategy. Define what action should be taken if we don't have enough phone numbers to fulfill your request. Allowable values are: always = proceed with ordering phone numbers, regardless of current inventory levels; never = do not place any orders unless there are enough phone numbers to satisfy the request. If not specified, the always strategy will be enforced.",
                  "enum": [
                    "always",
                    "never"
                  ],
                  "default": "always"
                },
                "quickship": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that need additional time after to purchase to activate. Only applicable for +1 toll_free numbers."
                },
                "exclude_held_numbers": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that are currently on hold/reserved for your account."
                }
              },
              "required": [
                "country_iso",
                "count_requested",
                "phone_number_type"
              ]
            }
          },
          "connection_id": {
            "type": "string",
            "description": "Connection id to apply to phone numbers that are purchased"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Messaging profile id to apply to phone numbers that are purchased"
          },
          "customer_reference": {
            "type": "string",
            "description": "Reference label for the customer"
          },
          "billing_group_id": {
            "type": "string",
            "description": "Billing group id to apply to phone numbers that are purchased"
          }
        },
        "required": [
          "ordering_groups"
        ]
      },
      "InexplicitNumberOrderResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the inexplicit number order"
          },
          "connection_id": {
            "type": "string",
            "description": "Connection id to apply to phone numbers that are purchased"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Messaging profile id to apply to phone numbers that are purchased"
          },
          "customer_reference": {
            "type": "string",
            "description": "Reference label for the customer"
          },
          "billing_group_id": {
            "type": "string",
            "description": "Billing group id to apply to phone numbers that are purchased"
          },
          "ordering_groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "country_iso": {
                  "type": "string",
                  "description": "Country where you would like to purchase phone numbers"
                },
                "phone_number_type": {
                  "type": "string",
                  "description": "Number type"
                },
                "count_requested": {
                  "type": "integer",
                  "description": "Quantity of phone numbers requested"
                },
                "count_allocated": {
                  "type": "integer",
                  "description": "Quantity of phone numbers allocated"
                },
                "status": {
                  "type": "string",
                  "description": "Status of the ordering group",
                  "enum": [
                    "pending",
                    "processing",
                    "failed",
                    "success",
                    "partial_success"
                  ]
                },
                "national_destination_code": {
                  "type": "string",
                  "description": "Filter by area code"
                },
                "phone_number[starts_with]": {
                  "type": "string",
                  "description": "Filter by the starting digits of the phone number"
                },
                "phone_number[ends_with]": {
                  "type": "string",
                  "description": "Filter by the ending digits of the phone number"
                },
                "phone_number[contains]": {
                  "type": "string",
                  "description": "Filter for phone numbers that contain the digits specified"
                },
                "administrative_area": {
                  "type": "string",
                  "description": "Filter for phone numbers in a given state / province"
                },
                "strategy": {
                  "type": "string",
                  "description": "Ordering strategy used",
                  "enum": [
                    "always",
                    "never"
                  ]
                },
                "quickship": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that need additional time after to purchase to activate. Only applicable for +1 toll_free numbers."
                },
                "exclude_held_numbers": {
                  "type": "boolean",
                  "description": "Filter to exclude phone numbers that are currently on hold/reserved for your account."
                },
                "error_reason": {
                  "type": "string",
                  "description": "Error reason if applicable"
                },
                "orders": {
                  "type": "array",
                  "description": "Array of orders created to fulfill the inexplicit order",
                  "items": {
                    "type": "object",
                    "properties": {
                      "number_order_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "ID of the main number order"
                      },
                      "sub_number_order_ids": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "description": "Array of sub number order IDs"
                      }
                    },
                    "required": [
                      "number_order_id",
                      "sub_number_order_ids"
                    ]
                  }
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 formatted date indicating when the ordering group was created"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 formatted date indicating when the ordering group was updated"
                }
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated"
          }
        }
      },
      "InferenceEmbeddingTransferToolParams": {
        "properties": {
          "targets": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the target.",
                      "example": "Support"
                    },
                    "to": {
                      "type": "string",
                      "description": "The destination number or SIP URI of the call.",
                      "example": "+13129457420"
                    }
                  },
                  "required": [
                    "to"
                  ]
                }
              },
              {
                "type": "string",
                "description": "A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.",
                "example": "{{ targets }}"
              }
            ],
            "description": "The different possible targets of the transfer. The assistant will be able to choose one of the targets to transfer the call to. This can also be a dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime."
          },
          "from": {
            "type": "string",
            "example": "+35319605860",
            "description": "Number or SIP URI placing the call."
          },
          "warm_transfer_instructions": {
            "type": "string",
            "example": "Briefly greet the transfer recipient and provide any relevant information from the call. Let them know you will bridge the call right after.",
            "description": "Natural language instructions for your agent for how to provide context for the transfer recipient."
          },
          "warm_message_delay_ms": {
            "type": [
              "integer",
              "null"
            ],
            "example": 2000,
            "description": "Optional delay in milliseconds before playing the warm message audio when the transferred call is answered. When set, the audio_url is not included in the dial command; instead, playback starts after the specified delay. When not set, existing behavior (audio_url in dial) is preserved."
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE for the transfer command.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `{{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret.",
                  "type": "string"
                }
              }
            }
          },
          "voicemail_detection": {
            "type": "object",
            "description": "Configuration for voicemail detection (AMD - Answering Machine Detection) on the transferred call. Allows the assistant to detect when a voicemail system answers the transferred call and take appropriate action.",
            "properties": {
              "detection_mode": {
                "type": "string",
                "enum": [
                  "disabled",
                  "premium"
                ],
                "description": "The AMD detection mode to use. 'premium' enables premium answering machine detection. 'disabled' turns off AMD detection."
              },
              "on_voicemail_detected": {
                "type": "object",
                "description": "Action to take when voicemail is detected on the transferred call.",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "stop_transfer",
                      "leave_message_and_stop_transfer"
                    ],
                    "description": "The action to take when voicemail is detected. 'stop_transfer' hangs up immediately. 'leave_message_and_stop_transfer' leaves a message then hangs up."
                  },
                  "voicemail_message": {
                    "type": "object",
                    "description": "Configuration for the voicemail message to leave. Only applicable when action is 'leave_message_and_stop_transfer'.",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "message",
                          "warm_transfer_instructions"
                        ],
                        "description": "The type of voicemail message. Use 'message' to leave a specific TTS message, or 'warm_transfer_instructions' to play the warm transfer audio."
                      },
                      "message": {
                        "type": "string",
                        "description": "The specific message to leave as voicemail (converted to speech). Only applicable when type is 'message'."
                      }
                    }
                  }
                }
              },
              "detection_config": {
                "type": "object",
                "description": "Advanced AMD detection configuration parameters. All values are optional - Telnyx will use defaults if not specified.",
                "properties": {
                  "greeting_silence_duration_millis": {
                    "type": "integer",
                    "minimum": 500,
                    "maximum": 50000,
                    "description": "Duration of silence after the greeting to wait before considering the greeting complete."
                  },
                  "greeting_total_analysis_time_millis": {
                    "type": "integer",
                    "minimum": 500,
                    "maximum": 300000,
                    "description": "Maximum time to spend analyzing the greeting."
                  },
                  "after_greeting_silence_millis": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 5000,
                    "description": "Duration of silence after greeting detection before finalizing the result."
                  },
                  "between_words_silence_millis": {
                    "type": "integer",
                    "minimum": 10,
                    "maximum": 5000,
                    "description": "Maximum silence duration between words during greeting."
                  },
                  "greeting_duration_millis": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 10000,
                    "description": "Expected duration of greeting speech."
                  },
                  "initial_silence_millis": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 500000,
                    "description": "Maximum silence duration at the start of the call before speech."
                  },
                  "maximum_number_of_words": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Maximum number of words expected in a human greeting."
                  },
                  "maximum_word_length_millis": {
                    "type": "integer",
                    "minimum": 50,
                    "maximum": 5000,
                    "description": "Maximum duration of a single word."
                  },
                  "silence_threshold": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000,
                    "description": "Audio level threshold for silence detection."
                  },
                  "total_analysis_time_millis": {
                    "type": "integer",
                    "minimum": 500,
                    "maximum": 60000,
                    "description": "Total time allowed for AMD analysis."
                  },
                  "min_word_length_millis": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000,
                    "description": "Minimum duration for audio to be considered a word."
                  }
                }
              }
            }
          }
        },
        "type": "object",
        "required": [
          "targets",
          "from"
        ],
        "title": "TransferToolParams"
      },
      "InitiateAICallRequest": {
        "type": "object",
        "title": "Initiate AI Call Request",
        "required": [
          "From",
          "To",
          "AIAssistantId"
        ],
        "properties": {
          "From": {
            "description": "The phone number of the party initiating the call. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "To": {
            "description": "The phone number of the called party. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "AIAssistantId": {
            "description": "The ID of the AI assistant to use for the call.",
            "type": "string"
          },
          "AIAssistantVersion": {
            "description": "The version of the AI assistant to use.",
            "type": "string"
          },
          "AIAssistantDynamicVariables": {
            "description": "Key-value map of dynamic variables to pass to the AI assistant.",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "customer_name": "John Doe",
              "account_id": "12345"
            }
          },
          "CallerId": {
            "description": "To be used as the caller id name (SIP From Display Name) presented to the destination (`To` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and `-_~!.+` special characters. If omitted, the display name will be the same as the number in the `From` field.",
            "example": "Info",
            "type": "string"
          },
          "StatusCallback": {
            "description": "URL destination for Telnyx to send status callback events for this AI call. When provided, this per-call value overrides the status callback URL configured on the TeXML application/connection.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "StatusCallbackEvent": {
            "description": "The status callback events for which Telnyx should send a webhook for this AI call. Multiple events can be defined when separated by a space. Valid values: initiated, ringing, answered, completed, no-answer, busy, canceled, failed, analyzed. When provided, this per-call value overrides the status callback events configured on the TeXML application/connection.",
            "example": "initiated answered",
            "default": "completed",
            "type": "string"
          },
          "StatusCallbackMethod": {
            "description": "HTTP request type used for `StatusCallback` and `StatusCallbacks` for this AI call. When provided, this per-call value overrides the status callback method configured on the TeXML application/connection.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "StatusCallbacks": {
            "description": "Array of URL destinations for Telnyx to send status callback events for this AI call. When provided, these per-call values override the status callback URL configured on the TeXML application/connection.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://www.example.com/callback1",
              "https://www.example.com/callback2"
            ]
          },
          "CustomHeaders": {
            "description": "Custom HTTP headers to be sent with the call. Each header should be an object with 'name' and 'value' properties.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the custom header"
                },
                "value": {
                  "type": "string",
                  "description": "The value of the custom header"
                }
              },
              "required": [
                "name",
                "value"
              ]
            },
            "example": [
              {
                "name": "X-Custom-Header",
                "value": "custom-value"
              }
            ]
          },
          "ConversationCallback": {
            "description": "URL destination for Telnyx to send AI conversation callback events for this call. Events include `conversation_created` and `conversation_ended`.",
            "example": "https://www.example.com/conversation-callback",
            "type": "string"
          },
          "ConversationCallbackMethod": {
            "description": "HTTP request type used for `ConversationCallback` and `ConversationCallbacks`.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "ConversationCallbacks": {
            "description": "Array of URL destinations for AI conversation callback events for this call. Events include `conversation_created` and `conversation_ended`.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://www.example.com/conversation-callback1",
              "https://www.example.com/conversation-callback2"
            ]
          },
          "MachineDetection": {
            "description": "Enables Answering Machine Detection.",
            "example": "Enable",
            "default": "Disable",
            "type": "string",
            "enum": [
              "Enable",
              "Disable",
              "DetectMessageEnd"
            ]
          },
          "DetectionMode": {
            "description": "Allows you to choose between Regular, Premium, and PremiumCallScreening detections. See https://developers.telnyx.com/docs/voice/programmable-voice/answering-machine-detection",
            "example": "Premium",
            "default": "Regular",
            "type": "string",
            "enum": [
              "Premium",
              "Regular",
              "PremiumCallScreening"
            ]
          },
          "AsyncAmd": {
            "description": "Select whether to perform answering machine detection in the background. By default execution is blocked until Answering Machine Detection is completed.",
            "example": true,
            "default": false,
            "type": "boolean"
          },
          "AsyncAmdStatusCallback": {
            "description": "URL destination for Telnyx to send AMD callback events to for the call.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "AsyncAmdStatusCallbackMethod": {
            "description": "HTTP request type used for `AsyncAmdStatusCallback`.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "MachineDetectionTimeout": {
            "description": "Maximum timeout threshold in milliseconds for overall detection.",
            "example": 5000,
            "default": 30000,
            "maximum": 60000,
            "minimum": 500,
            "type": "integer"
          },
          "MachineDetectionPromptEndTimeout": {
            "description": "Silence duration threshold after a call screening prompt before ending prompt detection, in milliseconds. Used when `DetectionMode` is `PremiumCallScreening`.",
            "example": 5000,
            "minimum": 1000,
            "maximum": 120000,
            "type": "integer"
          },
          "MachineDetectionSpeechThreshold": {
            "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "MachineDetectionSpeechEndThreshold": {
            "description": "Silence duration threshold after a greeting message or voice for it be considered human. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 800,
            "type": "integer"
          },
          "MachineDetectionSilenceTimeout": {
            "description": "If initial silence duration is greater than this value, consider it a machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "Passports": {
            "description": "A string of passport identifiers to associate with the call.",
            "type": "string"
          },
          "TimeLimit": {
            "description": "The maximum duration of the call in seconds. The minimum value is 30 and the maximum value is 14400 (4 hours). Default is 14400 seconds.",
            "example": 3600,
            "type": "integer",
            "minimum": 30,
            "maximum": 14400,
            "default": 14400
          },
          "Timeout": {
            "description": "The number of seconds to wait for the called party to answer the call before the call is canceled. The minimum value is 5 and the maximum value is 120. Default is 30 seconds.",
            "example": 60,
            "type": "integer",
            "minimum": 5,
            "maximum": 120,
            "default": 30,
            "x-stainless-param": "timeout_seconds"
          },
          "Record": {
            "description": "Whether to record the entire participant's call leg. Defaults to `false`.",
            "example": false,
            "type": "boolean"
          },
          "RecordingChannels": {
            "description": "The number of channels in the final recording. Defaults to `mono`.",
            "example": "dual",
            "type": "string",
            "enum": [
              "mono",
              "dual"
            ]
          },
          "RecordingStatusCallback": {
            "description": "The URL the recording callbacks will be sent to.",
            "example": "https://example.com/recording_status_callback",
            "type": "string"
          },
          "RecordingStatusCallbackMethod": {
            "description": "HTTP request type used for `RecordingStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "RecordingStatusCallbackEvent": {
            "description": "The changes to the recording's state that should generate a call to `RecordingStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`.",
            "example": "in-progress completed absent",
            "type": "string"
          },
          "RecordingTimeout": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. The minimum value is 0. The default value is 0 (infinite).",
            "example": 5,
            "type": "integer",
            "default": 0
          },
          "RecordingTrack": {
            "description": "The audio track to record for the call. The default is `both`.",
            "example": "inbound",
            "type": "string",
            "enum": [
              "inbound",
              "outbound",
              "both"
            ]
          },
          "Trim": {
            "description": "Whether to trim any leading and trailing silence from the recording. Defaults to `trim-silence`.",
            "example": "trim-silence",
            "type": "string",
            "enum": [
              "trim-silence",
              "do-not-trim"
            ]
          },
          "SendRecordingUrl": {
            "$ref": "#/components/schemas/SendRecordingUrl"
          },
          "PreferredCodecs": {
            "description": "The list of comma-separated codecs to be offered on a call.",
            "example": "PCMA,PCMU",
            "type": "string"
          },
          "SipAuthUsername": {
            "description": "The username to use for SIP authentication.",
            "example": "user",
            "type": "string"
          },
          "SipAuthPassword": {
            "description": "The password to use for SIP authentication.",
            "example": "1234",
            "type": "string"
          },
          "SipRegion": {
            "description": "Defines the SIP region to be used for the call.",
            "type": "string",
            "default": "US",
            "enum": [
              "US",
              "Europe",
              "Canada",
              "Australia",
              "Middle East"
            ],
            "example": "Canada"
          }
        },
        "example": {
          "From": "+13120001234",
          "To": "+13121230000",
          "AIAssistantId": "ai-assistant-id-123"
        }
      },
      "InitiateAICallResult": {
        "type": "object",
        "title": "Initiate AI Call Result",
        "example": {
          "from": "+13120001234",
          "to": "+13121230000",
          "status": "queued",
          "call_sid": "v3:example-call-sid"
        },
        "properties": {
          "from": {
            "type": "string",
            "example": "+13120001234"
          },
          "to": {
            "type": "string",
            "example": "+13120000000"
          },
          "status": {
            "type": "string",
            "example": "queued"
          },
          "call_sid": {
            "type": "string",
            "example": "v3:example-call-sid"
          }
        }
      },
      "InitiateCallRequest": {
        "type": "object",
        "title": "Initiate Call Request",
        "required": [
          "To",
          "From",
          "ApplicationSid"
        ],
        "properties": {
          "ApplicationSid": {
            "description": "The ID of the TeXML Application.",
            "type": "string"
          },
          "To": {
            "description": "The phone number of the called party. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "From": {
            "description": "The phone number of the party that initiated the call. Phone numbers are formatted with a `+` and country code.",
            "example": "+16175551212",
            "type": "string"
          },
          "CallerId": {
            "description": "To be used as the caller id name (SIP From Display Name) presented to the destination (`To` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and `-_~!.+` special characters. If ommited, the display name will be the same as the number in the `From` field.",
            "example": "Info",
            "type": "string"
          },
          "Url": {
            "description": "The URL from which Telnyx will retrieve the TeXML call instructions.",
            "example": "https://www.example.com/instructions.xml",
            "type": "string"
          },
          "UrlMethod": {
            "description": "HTTP request type used for `Url`. The default value is inherited from TeXML Application setting.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "FallbackUrl": {
            "description": "A failover URL for which Telnyx will retrieve the TeXML call instructions if the `Url` is not responding.",
            "example": "https://www.example.com/instructions-fallback.xml",
            "type": "string"
          },
          "StatusCallback": {
            "description": "URL destination for Telnyx to send status callback events to for the call.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "StatusCallbackMethod": {
            "description": "HTTP request type used for `StatusCallback`.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "StatusCallbackEvent": {
            "description": "The call events for which Telnyx should send a webhook. Multiple events can be defined when separated by a space.",
            "example": "initiated",
            "default": "completed",
            "type": "string",
            "enum": [
              "initiated",
              "ringing",
              "answered",
              "completed"
            ]
          },
          "MachineDetection": {
            "description": "Enables Answering Machine Detection.",
            "example": "Enable",
            "default": "Disable",
            "type": "string",
            "enum": [
              "Enable",
              "Disable",
              "DetectMessageEnd"
            ]
          },
          "DetectionMode": {
            "description": "Allows you to choose between Regular, Premium, and PremiumCallScreening detections. See https://developers.telnyx.com/docs/voice/programmable-voice/answering-machine-detection",
            "example": "Premium",
            "default": "Regular",
            "type": "string",
            "enum": [
              "Premium",
              "Regular",
              "PremiumCallScreening"
            ]
          },
          "AsyncAmd": {
            "description": "Select whether to perform answering machine detection in the background. By default execution is blocked until Answering Machine Detection is completed.",
            "example": true,
            "default": false,
            "type": "boolean"
          },
          "AsyncAmdStatusCallback": {
            "description": "URL destination for Telnyx to send AMD callback events to for the call.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "AsyncAmdStatusCallbackMethod": {
            "description": "HTTP request type used for `AsyncAmdStatusCallback`. The default value is inherited from TeXML Application setting.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "MachineDetectionTimeout": {
            "description": "Maximum timeout threshold in milliseconds for overall detection.",
            "example": 5000,
            "default": 30000,
            "maximum": 60000,
            "minimum": 500,
            "type": "integer"
          },
          "MachineDetectionPromptEndTimeout": {
            "description": "Silence duration threshold after a call screening prompt before ending prompt detection, in milliseconds. Used when `DetectionMode` is `PremiumCallScreening`.",
            "example": 5000,
            "minimum": 1000,
            "maximum": 120000,
            "type": "integer"
          },
          "MachineDetectionSpeechThreshold": {
            "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "MachineDetectionSpeechEndThreshold": {
            "description": "Silence duration threshold after a greeting message or voice for it be considered human. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 800,
            "type": "integer"
          },
          "MachineDetectionSilenceTimeout": {
            "description": "If initial silence duration is greater than this value, consider it a machine. Ignored when `premium` detection is used.",
            "example": 2000,
            "default": 3500,
            "type": "integer"
          },
          "CancelPlaybackOnMachineDetection": {
            "description": "Whether to cancel ongoing playback on `machine` detection. Defaults to `true`.",
            "default": true,
            "example": false,
            "type": "boolean"
          },
          "CancelPlaybackOnDetectMessageEnd": {
            "description": "Whether to cancel ongoing playback on `greeting ended` detection. Defaults to `true`.",
            "default": true,
            "example": false,
            "type": "boolean"
          },
          "DeepfakeDetection": {
            "description": "Enables Deepfake Detection on the dialed call. When enabled, audio from the remote party is analyzed to determine whether the voice is AI-generated. Results are delivered asynchronously via a callback.",
            "example": "Enable",
            "type": "string",
            "enum": [
              "Enable"
            ]
          },
          "DeepfakeDetectionCallbackUrl": {
            "description": "URL destination for Telnyx to send deepfake detection callback events to for the call.",
            "example": "https://www.example.com/deepfake-callback",
            "type": "string"
          },
          "DeepfakeDetectionCallbackMethod": {
            "description": "HTTP request type used for `DeepfakeDetectionCallbackUrl`.",
            "example": "GET",
            "default": "POST",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "PreferredCodecs": {
            "description": "The list of comma-separated codecs to be offered on a call.",
            "example": "PCMA,PCMU",
            "type": "string"
          },
          "Record": {
            "description": "Whether to record the entire participant's call leg. Defaults to `false`.",
            "example": false,
            "type": "boolean"
          },
          "RecordingChannels": {
            "description": "The number of channels in the final recording. Defaults to `mono`.",
            "example": "dual",
            "type": "string",
            "enum": [
              "mono",
              "dual"
            ]
          },
          "RecordingStatusCallback": {
            "description": "The URL the recording callbacks will be sent to.",
            "example": "https://example.com/recording_status_callback",
            "type": "string"
          },
          "RecordingStatusCallbackMethod": {
            "description": "HTTP request type used for `RecordingStatusCallback`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "RecordingStatusCallbackEvent": {
            "description": "The changes to the recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`.",
            "example": "in-progress completed absent",
            "type": "string"
          },
          "RecordingTimeout": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that the transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite)",
            "example": 5,
            "type": "integer",
            "default": 0
          },
          "RecordingTrack": {
            "description": "The audio track to record for the call. The default is `both`.",
            "example": "inbound",
            "type": "string",
            "enum": [
              "inbound",
              "outbound",
              "both"
            ]
          },
          "SendRecordingUrl": {
            "$ref": "#/components/schemas/SendRecordingUrl"
          },
          "SipAuthPassword": {
            "description": "The password to use for SIP authentication.",
            "example": "1234",
            "type": "string"
          },
          "SipAuthUsername": {
            "description": "The username to use for SIP authentication.",
            "example": "user",
            "type": "string"
          },
          "Trim": {
            "description": "Whether to trim any leading and trailing silence from the recording. Defaults to `trim-silence`.",
            "example": "trim-silence",
            "type": "string",
            "enum": [
              "trim-silence",
              "do-not-trim"
            ]
          },
          "CustomHeaders": {
            "description": "Custom HTTP headers to be sent with the call. Each header should be an object with 'name' and 'value' properties.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the custom header"
                },
                "value": {
                  "type": "string",
                  "description": "The value of the custom header"
                }
              },
              "required": [
                "name",
                "value"
              ]
            },
            "example": [
              {
                "name": "X-Custom-Header",
                "value": "custom-value"
              }
            ]
          },
          "SipRegion": {
            "description": "Defines the SIP region to be used for the call.",
            "type": "string",
            "default": "US",
            "enum": [
              "US",
              "Europe",
              "Canada",
              "Australia",
              "Middle East"
            ],
            "example": "Canada"
          },
          "MediaEncryption": {
            "description": "Defines whether media should be encrypted on the call. When set to `SRTP`, the call will use Secure Real-time Transport Protocol for media encryption. When set to `DTLS`, the call will use DTLS for media encryption. Only supported for SIP destinations.",
            "example": "disabled",
            "default": "disabled",
            "type": "string",
            "enum": [
              "disabled",
              "SRTP",
              "DTLS"
            ]
          },
          "SuperviseCallSid": {
            "description": "The call control ID of the existing call to supervise. When provided, the created leg will be added to the specified call in supervising mode. Status callbacks and action callbacks will NOT be sent for the supervising leg.",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "type": "string"
          },
          "SupervisingRole": {
            "description": "The supervising role for the new leg. Determines the audio behavior: barge (hear both sides), whisper (only hear supervisor), monitor (hear both sides but supervisor muted). Default: barge",
            "example": "monitor",
            "type": "string",
            "enum": [
              "barge",
              "whisper",
              "monitor"
            ],
            "default": "barge"
          },
          "Timeout": {
            "description": "The number of seconds to wait for the called party to answer the call before the call is canceled. The minimum value is 5 and the maximum value is 120. Default is 30 seconds.",
            "example": 60,
            "type": "integer",
            "minimum": 5,
            "maximum": 120,
            "default": 30,
            "x-stainless-param": "timeout_seconds"
          },
          "TimeLimit": {
            "description": "The maximum duration of the call in seconds. The minimum value is 30 and the maximum value is 14400 (4 hours). Default is 14400 seconds.",
            "example": 3600,
            "type": "integer",
            "minimum": 30,
            "maximum": 14400,
            "default": 14400
          },
          "Texml": {
            "description": "TeXML to be used as instructions for the call. If provided, the call will execute these instructions instead of fetching from the Url.",
            "example": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Say>Hello</Say></Response>",
            "type": "string"
          }
        },
        "oneOf": [
          {
            "title": "With URL",
            "required": [
              "Url"
            ],
            "properties": {
              "Texml": {
                "not": {}
              }
            }
          },
          {
            "title": "With TeXML",
            "required": [
              "Texml"
            ],
            "properties": {
              "Url": {
                "not": {}
              }
            }
          },
          {
            "title": "Application Default",
            "properties": {
              "Url": {
                "not": {}
              },
              "Texml": {
                "not": {}
              }
            }
          }
        ],
        "example": {
          "To": "+13121230000",
          "From": "+13120001234",
          "Url": "https://www.example.com/texml.xml",
          "StatusCallback": "https://www.example.com/statuscallback-listener",
          "ApplicationSid": "example-app-sid"
        }
      },
      "InitiateCallResult": {
        "type": "object",
        "title": "Initaite TeXML Call Result",
        "example": {
          "from": "+13120001234",
          "to": "+13121230000",
          "status": "queued"
        },
        "properties": {
          "from": {
            "type": "string",
            "example": "+13120001234"
          },
          "to": {
            "type": "string",
            "example": "+13120000000"
          },
          "status": {
            "type": "string",
            "example": "accepted"
          }
        }
      },
      "InsightSettings": {
        "properties": {
          "insight_group_id": {
            "type": "string",
            "description": "Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations."
          }
        },
        "type": "object"
      },
      "InsightTemplateCreateReq": {
        "properties": {
          "instructions": {
            "type": "string",
            "title": "Instructions"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "webhook": {
            "type": "string",
            "title": "Webhook",
            "default": ""
          },
          "json_schema": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "title": "JsonSchemaObject"
              }
            ],
            "title": "Json Schema",
            "description": "If specified, the output will follow the JSON schema."
          }
        },
        "type": "object",
        "required": [
          "instructions",
          "name"
        ],
        "title": "InsightTemplateCreateReq"
      },
      "InsightTemplateDetailRespData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/InsightTemplateResp"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "InsightTemplateDetailRespData"
      },
      "InsightTemplateGroupCreateReq": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "webhook": {
            "type": "string",
            "title": "Webhook",
            "default": ""
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "InsightTemplateGroupCreateReq"
      },
      "InsightTemplateGroupDetailRespData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/InsightTemplateGroupResp"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "InsightTemplateGroupDetailRespData"
      },
      "InsightTemplateGroupResp": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "insights": {
            "items": {
              "$ref": "#/components/schemas/InsightTemplateResp"
            },
            "type": "array",
            "title": "Insights"
          },
          "webhook": {
            "type": "string",
            "title": "Webhook",
            "default": ""
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "created_at"
        ],
        "title": "InsightTemplateGroupResp"
      },
      "InsightTemplateGroupUpdateReq": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "webhook": {
            "type": "string",
            "title": "Webhook"
          }
        },
        "type": "object",
        "title": "InsightTemplateGroupUpdateReq"
      },
      "InsightTemplateResp": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "instructions": {
            "type": "string",
            "title": "Instructions"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "insight_type": {
            "$ref": "#/components/schemas/TemplateType",
            "default": "custom"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "default": ""
          },
          "webhook": {
            "type": "string",
            "title": "Webhook",
            "default": ""
          },
          "json_schema": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "title": "JsonSchemaObject"
              }
            ],
            "title": "Json Schema",
            "description": "If specified, the output will follow the JSON schema."
          }
        },
        "type": "object",
        "required": [
          "id",
          "instructions",
          "created_at"
        ],
        "title": "InsightTemplateResp"
      },
      "InsightTemplateUpdateReq": {
        "properties": {
          "instructions": {
            "type": "string",
            "title": "Instructions"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "webhook": {
            "type": "string",
            "title": "Webhook"
          },
          "json_schema": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "title": "JsonSchemaObject"
              }
            ],
            "title": "Json Schema"
          }
        },
        "type": "object",
        "title": "InsightTemplateUpdateReq"
      },
      "IntId": {
        "title": "Int ID",
        "type": "string",
        "description": "Uniquely identifies the resource.",
        "example": "1293384261075731499"
      },
      "Integration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "logo_url": {
            "type": "string",
            "title": "Logo Url"
          },
          "status": {
            "type": "string",
            "enum": [
              "disconnected",
              "connected"
            ],
            "title": "Status"
          },
          "available_tools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Available Tools"
          }
        },
        "required": [
          "id",
          "name",
          "display_name",
          "description",
          "logo_url",
          "status",
          "available_tools"
        ],
        "title": "Integration"
      },
      "IntegrationConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "integration_id": {
            "type": "string",
            "title": "Integration Id"
          },
          "allowed_tools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Allowed Tools"
          }
        },
        "required": [
          "id",
          "integration_id",
          "allowed_tools"
        ],
        "title": "IntegrationConnection"
      },
      "IntegrationConnectionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/IntegrationConnection"
          }
        },
        "required": [
          "data"
        ],
        "title": "IntegrationConnectionResponse"
      },
      "IntegrationConnectionsListResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationConnection"
            },
            "title": "Data"
          }
        },
        "required": [
          "data"
        ],
        "title": "IntegrationConnectionsListResponse"
      },
      "IntegrationSecret": {
        "properties": {
          "record_type": {
            "type": "string",
            "title": "Record Type",
            "example": "integration_secret"
          },
          "id": {
            "type": "string",
            "title": "Id"
          },
          "identifier": {
            "type": "string",
            "title": "Identifier"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "record_type",
          "id",
          "identifier",
          "created_at"
        ],
        "title": "IntegrationSecret"
      },
      "IntegrationSecretCreatedResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/IntegrationSecret"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "IntegrationSecretCreatedResponse"
      },
      "IntegrationSecretsListData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/IntegrationSecret"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/integration-secrets_Metadata"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "SecretsListData"
      },
      "IntegrationsListResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Integration"
            },
            "title": "Data"
          }
        },
        "required": [
          "data"
        ],
        "title": "IntegrationsListResponse"
      },
      "Interface": {
        "type": "object",
        "properties": {
          "network_id": {
            "description": "The id of the network associated with the interface.",
            "type": "string",
            "format": "uuid",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "name": {
            "type": "string",
            "description": "A user specified name for the interface.",
            "example": "test interface"
          },
          "status": {
            "$ref": "#/components/schemas/InterfaceStatus"
          }
        }
      },
      "InterfaceStatus": {
        "type": "string",
        "enum": [
          "created",
          "provisioning",
          "provisioned",
          "deleting"
        ],
        "description": "The current status of the interface deployment.",
        "readOnly": true,
        "example": "provisioned"
      },
      "InterruptionSettings": {
        "type": "object",
        "description": "Settings for handling user interruptions during assistant speech",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "When true, allows users to interrupt the assistant while speaking",
            "default": true
          }
        }
      },
      "IntrospectRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The token to introspect"
          }
        },
        "required": [
          "token"
        ]
      },
      "IntrospectResponse": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Whether the token is active"
          },
          "scope": {
            "type": "string",
            "description": "Space-separated list of scopes"
          },
          "client_id": {
            "type": "string",
            "description": "Client identifier"
          },
          "exp": {
            "type": "integer",
            "description": "Expiration timestamp"
          },
          "iat": {
            "type": "integer",
            "description": "Issued at timestamp"
          },
          "iss": {
            "type": "string",
            "description": "Issuer"
          },
          "aud": {
            "type": "string",
            "description": "Audience"
          }
        },
        "required": [
          "active"
        ]
      },
      "InventoryCoverage": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "example": "318"
          },
          "group_type": {
            "type": "string",
            "example": "npa"
          },
          "number_range": {
            "type": "integer",
            "example": 1
          },
          "number_type": {
            "type": "string",
            "enum": [
              "did",
              "toll-free"
            ],
            "example": "did"
          },
          "phone_number_type": {
            "type": "string",
            "enum": [
              "local",
              "toll_free",
              "national",
              "landline",
              "shared_cost",
              "mobile"
            ],
            "example": "local"
          },
          "coverage_type": {
            "type": "string",
            "enum": [
              "number",
              "block"
            ],
            "example": "number"
          },
          "record_type": {
            "type": "string",
            "example": "inventory_coverage_group"
          },
          "administrative_area": {
            "type": "string",
            "example": "NJ"
          },
          "count": {
            "type": "integer",
            "example": 3
          },
          "advance_requirements": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the phone number requires advance requirements."
          }
        },
        "example": {
          "group": "318",
          "group_type": "npa",
          "number_range": 1,
          "number_type": "did",
          "phone_number_type": "local",
          "coverage_type": "number",
          "record_type": "inventory_coverage_group",
          "administrative_area": "NJ",
          "count": 3,
          "advance_requirements": true
        }
      },
      "InventoryCoverageMetadata": {
        "type": "object",
        "example": {
          "total_results": 25
        },
        "properties": {
          "total_results": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "InviteTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "invite"
            ]
          },
          "invite": {
            "$ref": "#/components/schemas/InviteToolConfig",
            "title": "InviteToolConfig"
          }
        },
        "type": "object",
        "required": [
          "type",
          "invite"
        ],
        "title": "InviteTool"
      },
      "InviteToolConfig": {
        "properties": {
          "from": {
            "type": "string",
            "example": "+35319605860",
            "description": "Number or SIP URI placing the call."
          },
          "targets": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the target.",
                      "example": "Support"
                    },
                    "to": {
                      "type": "string",
                      "description": "The destination number or SIP URI of the call.",
                      "example": "+13129457420"
                    }
                  },
                  "required": [
                    "to"
                  ]
                }
              },
              {
                "type": "string",
                "description": "A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.",
                "example": "{{ targets }}"
              },
              {
                "type": "null"
              }
            ],
            "description": "The different possible targets of the invite. The assistant will be able to choose one of the targets to invite to the call. This can also be a dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime. If omitted or null, the invite tool can still be configured and targets may be supplied dynamically at runtime."
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE for the invite command.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `{{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret.",
                  "type": "string"
                }
              }
            }
          },
          "voicemail_detection": {
            "type": "object",
            "description": "Configuration for voicemail detection (AMD - Answering Machine Detection) on the invited call.",
            "properties": {
              "detection_mode": {
                "type": "string",
                "enum": [
                  "disabled",
                  "premium"
                ],
                "description": "The AMD detection mode to use. 'premium' enables premium answering machine detection. 'disabled' turns off AMD detection."
              },
              "on_voicemail_detected": {
                "type": "object",
                "description": "Action to take when voicemail is detected on the invited call.",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "stop_invite"
                    ],
                    "description": "The action to take when voicemail is detected."
                  }
                }
              }
            }
          }
        },
        "type": "object",
        "required": [
          "from"
        ],
        "title": "InviteToolConfig"
      },
      "Invoice": {
        "type": "object",
        "properties": {
          "invoice_id": {
            "type": "string",
            "format": "uuid",
            "example": "48eff763-ea80-4345-b688-78249eb165a8"
          },
          "file_id": {
            "type": "string",
            "format": "uuid",
            "example": "454ea3b0-9eaa-4fa9-992e-6d9f31c0a37e"
          },
          "period_start": {
            "type": "string",
            "format": "date",
            "example": "2023-11-01"
          },
          "period_end": {
            "type": "string",
            "format": "date",
            "example": "2023-11-30"
          },
          "paid": {
            "type": "boolean",
            "example": true
          },
          "url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.telnyx.com:443/v2/invoices/48eff763-ea80-4345-b688-78249eb165a8"
          }
        }
      },
      "InvoiceDetail": {
        "type": "object",
        "properties": {
          "invoice_id": {
            "type": "string",
            "format": "uuid",
            "example": "48eff763-ea80-4345-b688-78249eb165a8"
          },
          "file_id": {
            "type": "string",
            "format": "uuid",
            "example": "454ea3b0-9eaa-4fa9-992e-6d9f31c0a37e"
          },
          "period_start": {
            "type": "string",
            "format": "date",
            "example": "2023-11-01"
          },
          "period_end": {
            "type": "string",
            "format": "date",
            "example": "2023-11-30"
          },
          "paid": {
            "type": "boolean",
            "example": true
          },
          "url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.telnyx.com:443/v2/invoices/48eff763-ea80-4345-b688-78249eb165a8"
          },
          "download_url": {
            "type": "string",
            "format": "uri",
            "description": "Present only if the query parameter `action=link` is set.",
            "example": "https://us-east-1.telnyxstorage.com/porting-documents/telnyx/..."
          }
        }
      },
      "InworldVoiceSettings": {
        "type": "object",
        "title": "Inworld Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "inworld"
            ],
            "description": "Voice settings provider type"
          }
        },
        "required": [
          "type"
        ]
      },
      "Ip": {
        "type": "object",
        "title": "Ip",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "ip"
          },
          "connection_id": {
            "type": "string",
            "description": "ID of the IP Connection to which this IP should be attached."
          },
          "ip_address": {
            "type": "string",
            "description": "IP adddress represented by this resource.",
            "example": "192.168.0.0"
          },
          "port": {
            "type": "integer",
            "description": "Port to use when connecting to this IP.",
            "default": 5060,
            "example": 5060
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "ip",
          "connection_id": "3456789987654",
          "ip_address": "192.168.0.0",
          "port": 5060,
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "IpConnection": {
        "type": "object",
        "title": "Ip Connection",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "ip_connection"
          },
          "active": {
            "type": "boolean",
            "description": "Defaults to true",
            "example": true
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string",
            "example": "string"
          },
          "transport_protocol": {
            "type": "string",
            "description": "One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.",
            "default": "UDP",
            "enum": [
              "UDP",
              "TCP",
              "TLS"
            ],
            "example": "UDP"
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout.",
            "example": true
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.",
            "example": true
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.",
            "example": false
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "inbound": {
            "$ref": "#/components/schemas/InboundIp"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundIp"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "ip_connection",
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": true,
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "tags": [
            "tag1",
            "tag2"
          ],
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "default_primary_ip_id": "192.0.2.1",
            "default_secondary_ip_id": "198.51.100.1",
            "default_tertiary_ip_id": "203.0.113.1",
            "default_routing_method": "sequential",
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "string",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 10,
            "shaken_stir_enabled": true
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "string",
            "ani_override_type": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "string",
            "t38_reinvite_source": "customer",
            "tech_prefix": "string",
            "ip_authentication_method": "token",
            "ip_authentication_token": "string",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        }
      },
      "JWKSet": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string",
                  "description": "Key type"
                },
                "use": {
                  "type": "string",
                  "description": "Key use"
                },
                "alg": {
                  "type": "string",
                  "description": "Algorithm"
                },
                "kid": {
                  "type": "string",
                  "description": "Key ID"
                }
              }
            }
          }
        }
      },
      "JoinConferenceRequest": {
        "required": [
          "call_control_id"
        ],
        "type": "object",
        "title": "Join Conference Request",
        "properties": {
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call",
            "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ==",
            "type": "string"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string. Please note that the client_state will be updated for the participient call leg and the change will not affect conferencing webhooks unless the participient is the owner of the conference.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "type": "string"
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901",
            "type": "string"
          },
          "end_conference_on_exit": {
            "description": "Whether the conference should end and all remaining participants be hung up after the participant leaves the conference. Defaults to \"false\".",
            "example": true,
            "type": "boolean"
          },
          "soft_end_conference_on_exit": {
            "description": "Whether the conference should end after the participant leaves the conference. NOTE this doesn't hang up the other participants. Defaults to \"false\".",
            "example": true,
            "type": "boolean"
          },
          "hold": {
            "description": "Whether the participant should be put on hold immediately after joining the conference. Defaults to \"false\".",
            "example": true,
            "type": "boolean"
          },
          "hold_audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played to the participant when they are put on hold after joining the conference. hold_media_name and hold_audio_url cannot be used together in one request. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\"."
          },
          "hold_media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played to the participant when they are put on hold after joining the conference. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file. Takes effect only when \"start_conference_on_create\" is set to \"false\". This property takes effect only if \"hold\" is set to \"true\"."
          },
          "mute": {
            "description": "Whether the participant should be muted immediately after joining the conference. Defaults to \"false\".",
            "example": true,
            "type": "boolean"
          },
          "start_conference_on_enter": {
            "description": "Whether the conference should be started after the participant joins the conference. Defaults to \"false\".",
            "example": true,
            "type": "boolean"
          },
          "supervisor_role": {
            "description": "Sets the joining participant as a supervisor for the conference. A conference can have multiple supervisors. \"barge\" means the supervisor enters the conference as a normal participant. This is the same as \"none\". \"monitor\" means the supervisor is muted but can hear all participants. \"whisper\" means that only the specified \"whisper_call_control_ids\" can hear the supervisor. Defaults to \"none\".",
            "example": "whisper",
            "type": "string",
            "enum": [
              "barge",
              "monitor",
              "none",
              "whisper"
            ]
          },
          "whisper_call_control_ids": {
            "description": "Array of unique call_control_ids the joining supervisor can whisper to. If none provided, the supervisor will join the conference as a monitoring participant only.",
            "example": [
              "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
              "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "beep_enabled": {
            "description": "Whether a beep sound should be played when the participant joins and/or leaves the conference. Can be used to override the conference-level setting.",
            "enum": [
              "always",
              "never",
              "on_enter",
              "on_exit"
            ],
            "example": "on_exit",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "end_conference_on_exit": true,
          "hold": true,
          "hold_audio_url": "http://www.example.com/audio.wav",
          "mute": true,
          "start_conference_on_enter": true,
          "supervisor_role": "whisper",
          "whisper_call_control_ids": [
            "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
            "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
          ],
          "beep_enabled": "always"
        }
      },
      "LeaveConferenceRequest": {
        "required": [
          "call_control_id"
        ],
        "type": "object",
        "title": "Leave Conference Request",
        "properties": {
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call",
            "example": "f91269aa-61d1-417f-97b3-10e020e8bc47",
            "type": "string"
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901",
            "type": "string"
          },
          "beep_enabled": {
            "description": "Whether a beep sound should be played when the participant leaves the conference. Can be used to override the conference-level setting.",
            "enum": [
              "always",
              "never",
              "on_enter",
              "on_exit"
            ],
            "example": "on_exit",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_id": "c46e06d7-b78f-4b13-96b6-c576af9640ff",
          "beep_enabled": "never"
        }
      },
      "LeaveQueueRequest": {
        "type": "object",
        "title": "Leave Queue Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "LedgerBillingGroupReport": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "ledger_billing_group_report"
            ],
            "description": "Identifies the type of the resource.",
            "example": "ledger_billing_group_report"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "organization_id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the organization that owns the resource."
          },
          "status": {
            "type": "string",
            "description": "Status of the ledger billing group report",
            "enum": [
              "pending",
              "complete",
              "failed",
              "deleted"
            ]
          },
          "report_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "External url of the ledger billing group report, if the status is complete",
            "format": "uri"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated."
          }
        },
        "example": {
          "record_type": "ledger_billing_group_report",
          "id": "f5586561-8ff0-4291-a0ac-84fe544797bd",
          "organization_id": "f5586561-8ff0-4291-a0ac-84fe544797bd",
          "report_url": "https://example.com",
          "created_at": "2019-10-15T10:07:15.527Z",
          "updated_at": "2019-10-15T10:07:15.527Z"
        }
      },
      "LinkTelnyxAgentRequest": {
        "properties": {
          "telnyx_agent_id": {
            "type": "string",
            "title": "Telnyx Agent Id",
            "description": "The Telnyx AI agent ID to link"
          }
        },
        "type": "object",
        "required": [
          "telnyx_agent_id"
        ],
        "title": "LinkTelnyxAgentRequest"
      },
      "Links": {
        "type": "object",
        "required": [
          "self",
          "records"
        ],
        "properties": {
          "self": {
            "type": "string",
            "description": "Link to this session analysis node."
          },
          "records": {
            "type": "string",
            "description": "Link to the underlying detail records."
          }
        }
      },
      "ListPushCredentialsResponse": {
        "description": "Mobile mobile push credentials",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PushCredential"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/PaginationMeta"
          }
        },
        "type": "object"
      },
      "ListVerificationsResponse": {
        "title": "ListVerificationsResponse",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Verification"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/verify_Meta"
          }
        }
      },
      "ListVerifiedNumbersResponse": {
        "title": "ListVerifiedNumbersResponse",
        "description": "A paginated list of Verified Numbers",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerifiedNumberResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/verified-numbers_Meta"
          }
        }
      },
      "ListVerifyProfileMessageTemplateResponse": {
        "title": "ListVerifyProfileMessageTemplateResponse",
        "description": "A list of Verify profile message templates",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerifyProfileMessageTemplateResponse"
            }
          }
        }
      },
      "ListVerifyProfilesResponse": {
        "title": "ListVerifyProfilesResponse",
        "description": "A paginated list of Verify profiles",
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerifyProfileResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/verify_Meta"
          }
        }
      },
      "Location": {
        "type": "object",
        "title": "Location",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/UUID"
          },
          "additional_info": {
            "type": "string",
            "example": "14th Floor"
          },
          "description": {
            "type": "string",
            "example": "Austin Office"
          },
          "is_default": {
            "type": "boolean",
            "description": "Represents whether the location is the default or not."
          }
        }
      },
      "LocationResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "location_id": {
                "type": "string",
                "format": "uuid"
              },
              "static_emergency_address_id": {
                "type": "string",
                "format": "uuid"
              },
              "accepted_address_suggestions": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "LogMessage": {
        "required": [
          "code",
          "title"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "10015",
            "x-format": "int64"
          },
          "title": {
            "type": "string",
            "example": "Invalid attribute"
          },
          "detail": {
            "type": "string",
            "example": "The value provided for the attribute is not valid. Check the value used and try again."
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer",
                "example": "/attribute"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "telephone_number": {
                "type": "string",
                "description": "The telephone number the log message is associated with, if any.",
                "example": "+12345678"
              },
              "external_connection_id": {
                "type": "string",
                "example": "1293384261075731499",
                "description": "The external connection the log message is associated with, if any.",
                "x-format": "int64"
              },
              "ticket_id": {
                "type": "string",
                "format": "uuid",
                "example": "542c3bca-d247-42bc-8fe7-e01d16ecd761",
                "description": "The ticket ID for an operation that generated the log message, if any."
              }
            }
          }
        }
      },
      "Loopcount": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "MCC": {
        "type": "object",
        "title": "Mobile Country Code",
        "properties": {
          "code": {
            "type": "string",
            "description": "Mobile Country Code.",
            "example": "311"
          },
          "name": {
            "type": "string",
            "description": "The name of the country.",
            "example": "United States of America"
          }
        },
        "required": [
          "code",
          "name"
        ]
      },
      "MCPServer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "api_key_ref": {
            "type": [
              "string",
              "null"
            ],
            "title": "Api Key Ref"
          },
          "allowed_tools": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "title": "Allowed Tools"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "url",
          "created_at"
        ],
        "title": "MCPServer"
      },
      "MCPServersListResponse": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MCPServer"
        },
        "title": "MCPServersListResponse"
      },
      "MMSFallback": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number in +E.164 format",
            "example": "+13125551234"
          },
          "subject": {
            "type": "string",
            "description": "Subject of the message",
            "example": "Test Message"
          },
          "media_urls": {
            "type": "array",
            "description": "List of media URLs",
            "items": {
              "type": "string"
            }
          },
          "text": {
            "type": "string",
            "description": "Text",
            "example": "Hello world!"
          }
        }
      },
      "ManagedAccount": {
        "type": "object",
        "title": "ManagedAccount",
        "required": [
          "record_type",
          "id",
          "email",
          "api_key",
          "api_user",
          "api_token",
          "manager_account_id",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "example": "managed_account",
            "enum": [
              "managed_account"
            ],
            "description": "Identifies the type of the resource."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the managed account.",
            "example": "f65ceda4-6522-4ad6-aede-98de83385123"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The managed account's email.",
            "example": "user@example.com"
          },
          "api_key": {
            "type": "string",
            "description": "The managed account's V2 API access key",
            "example": "KEY01236170692E74656C6E79782E636F6D_YmlnIGlyb24gaXMgZGVhZA"
          },
          "api_user": {
            "type": "string",
            "description": "The manager account's email, which serves as the V1 API user identifier",
            "example": "managed_account@example.com"
          },
          "api_token": {
            "type": "string",
            "description": "The managed account's V1 API token",
            "example": "x6oexQNHTs-fZ7-QsDMOeg"
          },
          "organization_name": {
            "type": "string",
            "description": "The organization the managed account is associated with.",
            "example": "Example Company LLC"
          },
          "manager_account_id": {
            "type": "string",
            "description": "The ID of the manager account associated with the managed account.",
            "example": "f65ceda4-6522-4ad6-aede-98de83385123"
          },
          "balance": {
            "$ref": "#/components/schemas/ManagedAccountBalance"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "managed_account_allow_custom_pricing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the managed account is able to have custom pricing set for it or not. If false, uses the pricing of the manager account. Defaults to false. There may be time lag between when the value is changed and pricing changes take effect.",
            "example": true
          },
          "rollup_billing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the billing information and charges to the managed account \"roll up\" to the manager account. If true, the managed account will not have its own balance and will use the shared balance with the manager account. This value cannot be changed after account creation without going through Telnyx support as changes require manual updates to the account ledger. Defaults to false.",
            "example": false
          }
        }
      },
      "ManagedAccountBalance": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "balance",
            "enum": [
              "balance"
            ],
            "description": "Identifies the type of the resource."
          },
          "balance": {
            "type": "string",
            "description": "The account's current balance.",
            "example": "300.00",
            "x-format": "decimal"
          },
          "credit_limit": {
            "type": "string",
            "description": "The account's credit limit.",
            "example": "100.00",
            "x-format": "decimal"
          },
          "available_credit": {
            "type": "string",
            "description": "Available amount to spend (balance + credit limit)",
            "example": "400.00",
            "x-format": "decimal"
          },
          "currency": {
            "type": "string",
            "description": "The ISO 4217 currency identifier.",
            "example": "USD",
            "x-format": "iso4217"
          }
        },
        "example": {
          "record_type": "balance",
          "balance": "300.00",
          "credit_limit": "100.00",
          "available_credit": "400.00",
          "currency": "USD"
        }
      },
      "ManagedAccountMultiListing": {
        "type": "object",
        "title": "ManagedAccount",
        "required": [
          "record_type",
          "id",
          "email",
          "api_user",
          "manager_account_id",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "example": "managed_account",
            "enum": [
              "managed_account"
            ],
            "description": "Identifies the type of the resource."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the managed account.",
            "example": "f65ceda4-6522-4ad6-aede-98de83385123"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The managed account's email.",
            "example": "user@example.com"
          },
          "api_user": {
            "type": "string",
            "description": "The manager account's email, which serves as the V1 API user identifier",
            "example": "managed_account@example.com"
          },
          "organization_name": {
            "type": "string",
            "description": "The organization the managed account is associated with.",
            "example": "Example Company LLC"
          },
          "manager_account_id": {
            "type": "string",
            "description": "The ID of the manager account associated with the managed account.",
            "example": "f65ceda4-6522-4ad6-aede-98de83385123"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "managed_account_allow_custom_pricing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the managed account is able to have custom pricing set for it or not. If false, uses the pricing of the manager account. Defaults to false. There may be time lag between when the value is changed and pricing changes take effect.",
            "example": true
          },
          "rollup_billing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the billing information and charges to the managed account \"roll up\" to the manager account. If true, the managed account will not have its own balance and will use the shared balance with the manager account. This value cannot be changed after account creation without going through Telnyx support as changes require manual updates to the account ledger. Defaults to false.",
            "example": false
          }
        }
      },
      "ManagedAccountsGlobalOutboundChannels": {
        "title": "Managed Accounts Global Outbound Channels",
        "properties": {
          "managed_account_allow_custom_pricing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the managed account is able to have custom pricing set for it or not. If false, uses the pricing of the manager account. Defaults to false. This value may be changed, but there may be time lag between when the value is changed and pricing changes take effect.",
            "example": false
          },
          "allocatable_global_outbound_channels": {
            "type": "integer",
            "description": "The total amount of allocatable global outbound channels available to the authenticated manager. Will be 0 if the feature is not enabled for their account.",
            "example": 500
          },
          "record_type": {
            "type": "string",
            "description": "The type of the data contained in this record.",
            "example": "allocatable_global_outbound_channels"
          },
          "total_global_channels_allocated": {
            "type": "integer",
            "description": "The total number of allocatable global outbound channels currently allocated across all managed accounts for the authenticated user. This includes any amount of channels allocated by default at managed account creation time. Will be 0 if the feature is not enabled for their account.",
            "example": 135
          }
        },
        "example": {
          "allocatable_global_outbound_channels": 500,
          "record_type": "allocatable_global_outbound_channels",
          "total_global_channels_allocated": 135
        },
        "type": "object"
      },
      "MdrDeleteDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrDetailReportResponse"
          }
        }
      },
      "MdrDeleteUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponseLegacy"
          }
        }
      },
      "MdrDeleteUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponse"
          }
        }
      },
      "MdrDetailReportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "format": "uuid"
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "directions": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "INBOUND",
                "OUTBOUND"
              ]
            }
          },
          "record_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "INCOMPLETE",
                "COMPLETED",
                "ERRORS"
              ]
            }
          },
          "connections": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "report_name": {
            "type": "string",
            "example": "report_name_8hvb45Gu"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "COMPLETE",
              "FAILED",
              "EXPIRED"
            ]
          },
          "report_url": {
            "type": "string",
            "example": "http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "profiles": {
            "type": "array",
            "description": "List of messaging profile IDs",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "7d4e3f8a-9b2c-4e1d-8f5a-1a2b3c4d5e6f"
            ]
          },
          "record_type": {
            "type": "string",
            "example": "mdr_report"
          }
        }
      },
      "MdrDetailResponse": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "Message sent time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "profile_name": {
            "type": "string",
            "description": "Configured profile name. New profiles can be created and configured on Telnyx portal",
            "example": "configured-profile-name"
          },
          "direction": {
            "type": "string",
            "description": "Direction of message - inbound or outbound.",
            "example": "outbound"
          },
          "parts": {
            "type": "number",
            "description": "Number of parts this message has. Max number of character is 160. If message contains more characters then that it will be broken down in multiple parts",
            "example": 2
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "DELIVERED",
            "enum": [
              "GW_TIMEOUT",
              "DELIVERED",
              "DLR_UNCONFIRMED",
              "DLR_TIMEOUT",
              "RECEIVED",
              "GW_REJECT",
              "FAILED"
            ]
          },
          "cld": {
            "type": "string",
            "description": "The destination number for a call, or the callee",
            "example": "+1555123456"
          },
          "cli": {
            "type": "string",
            "description": "The number associated with the person initiating the call, or the caller",
            "example": "+1555123456"
          },
          "rate": {
            "type": "string",
            "description": "Rate applied to the message",
            "example": "0.05"
          },
          "cost": {
            "type": "string",
            "description": "Final cost. Cost is calculated as rate * parts",
            "example": "0.1"
          },
          "currency": {
            "type": "string",
            "description": "Currency of the rate and cost",
            "example": "USD",
            "enum": [
              "AUD",
              "CAD",
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "id": {
            "type": "string",
            "description": "Id of message detail record",
            "example": "99b637f3-07fd-45ac-b9ca-b87208c24650"
          },
          "message_type": {
            "type": "string",
            "description": "Type of message",
            "example": "SMS",
            "enum": [
              "SMS",
              "MMS"
            ]
          },
          "record_type": {
            "type": "string",
            "example": "mdr_report"
          }
        }
      },
      "MdrDetailedRequest": {
        "required": [
          "start_time",
          "end_time"
        ],
        "type": "object",
        "properties": {
          "start_time": {
            "type": "string",
            "description": "Start time in ISO format",
            "format": "date-time",
            "example": "2024-02-01T00:00:00Z"
          },
          "end_time": {
            "type": "string",
            "description": "End time in ISO format. Note: If end time includes the last 4 hours, some MDRs might not appear in this report, due to wait time for downstream message delivery confirmation",
            "format": "date-time",
            "example": "2024-02-12T23:59:59Z"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the report",
            "example": "UTC"
          },
          "directions": {
            "type": "array",
            "description": "List of directions to filter by (Inbound = 1, Outbound = 2)",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "example": [
              1,
              2
            ]
          },
          "record_types": {
            "type": "array",
            "description": "List of record types to filter by (Complete = 1, Incomplete = 2, Errors = 3)",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "example": [
              1,
              2
            ]
          },
          "connections": {
            "type": "array",
            "description": "List of connections to filter by",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "example": [
              123,
              456
            ]
          },
          "report_name": {
            "type": "string",
            "description": "Name of the report",
            "example": "My MDR Report"
          },
          "include_message_body": {
            "type": "boolean",
            "description": "Whether to include message body in the report",
            "example": true
          },
          "filters": {
            "type": "array",
            "description": "List of filters to apply",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "profiles": {
            "type": "array",
            "description": "List of messaging profile IDs to filter by",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "7d4e3f8a-9b2c-4e1d-8f5a-1a2b3c4d5e6f"
            ]
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed accounts to include",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          },
          "select_all_managed_accounts": {
            "type": "boolean",
            "description": "Whether to select all managed accounts",
            "example": false
          }
        },
        "description": "Request object for MDR detailed report"
      },
      "MdrGetDetailReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrDetailReportResponse"
          }
        }
      },
      "MdrGetDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MdrDetailReportResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/batch-csv_PaginationMeta"
          }
        }
      },
      "MdrGetDetailResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MdrDetailResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/reporting_PaginationMeta"
          }
        }
      },
      "MdrGetSyncUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponse"
          }
        }
      },
      "MdrGetUsageReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponseLegacy"
          }
        }
      },
      "MdrGetUsageReportsByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponse"
          }
        }
      },
      "MdrGetUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MdrUsageReportResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/reporting_PaginationMeta"
          }
        }
      },
      "MdrPostDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrDetailReportResponse"
          }
        }
      },
      "MdrPostUsageReportRequest": {
        "required": [
          "aggregation_type",
          "end_date",
          "start_date"
        ],
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "aggregation_type": {
            "type": "string",
            "enum": [
              "NO_AGGREGATION",
              "PROFILE",
              "TAGS"
            ]
          },
          "profiles": {
            "type": "string",
            "example": "My profile"
          }
        }
      },
      "MdrPostUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponseLegacy"
          }
        }
      },
      "MdrPostUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MdrUsageReportResponse"
          }
        }
      },
      "MdrUsageRecord": {
        "type": "object",
        "properties": {
          "cost": {
            "type": "string",
            "example": "0"
          },
          "direction": {
            "type": "string",
            "example": "outbound"
          },
          "product": {
            "type": "string",
            "example": "outbound"
          },
          "connection": {
            "type": "string",
            "example": "all"
          },
          "received": {
            "type": "string",
            "example": "0"
          },
          "delivered": {
            "type": "string",
            "example": "0"
          },
          "currency": {
            "type": "string",
            "example": "USD"
          },
          "parts": {
            "type": "string",
            "example": "0"
          },
          "sent": {
            "type": "string",
            "example": "0"
          },
          "profile_id": {
            "type": "string",
            "example": "All"
          },
          "tags": {
            "type": "string",
            "example": "All"
          },
          "message_type": {
            "type": "string",
            "example": "SMS"
          },
          "tn_type": {
            "type": "string",
            "example": "TF"
          },
          "carrier_passthrough_fee": {
            "type": "string",
            "example": "0"
          }
        }
      },
      "MdrUsageReportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "format": "uuid"
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "connections": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "aggregation_type": {
            "type": "string",
            "enum": [
              "NO_AGGREGATION",
              "PROFILE",
              "TAGS"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "COMPLETE",
              "FAILED",
              "EXPIRED"
            ]
          },
          "report_url": {
            "type": "string",
            "example": "http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MdrUsageRecord"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "profiles": {
            "type": "string",
            "example": "My profile"
          },
          "record_type": {
            "type": "string",
            "example": "mdr_usage_report"
          }
        }
      },
      "MdrUsageReportResponseLegacy": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "format": "uuid"
          },
          "start_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "connections": {
            "uniqueItems": true,
            "type": "array",
            "example": [
              "1234567890",
              "9876543210"
            ],
            "items": {
              "type": "string"
            }
          },
          "aggregation_type": {
            "type": "integer",
            "description": "Aggregation type: No aggregation = 0, By Messaging Profile = 1, By Tags = 2",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "description": "Status of the report (Pending = 1, Complete = 2, Failed = 3, Expired = 4)",
            "format": "int32"
          },
          "report_url": {
            "type": "string",
            "example": "http://portal.telnyx.com/downloads/report_name_8hvb45Gu.csv"
          },
          "result": {
            "type": "object"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "profiles": {
            "type": "array",
            "description": "List of messaging profile IDs",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "7d4e3f8a-9b2c-4e1d-8f5a-1a2b3c4d5e6f"
            ]
          },
          "record_type": {
            "type": "string",
            "example": "mdr_usage_report_v2_legacy"
          }
        },
        "description": "Legacy V2 MDR usage report response"
      },
      "MdrUsageRequestLegacy": {
        "required": [
          "aggregation_type"
        ],
        "type": "object",
        "properties": {
          "start_time": {
            "type": "string",
            "format": "date-time",
            "example": "2020-01-01T00:00:00Z"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "example": "2020-01-02T00:00:00Z"
          },
          "aggregation_type": {
            "type": "integer",
            "description": "Aggregation type: No aggregation = 0, By Messaging Profile = 1, By Tags = 2",
            "format": "int32",
            "example": 0
          },
          "profiles": {
            "type": "array",
            "description": "List of messaging profile IDs to filter by",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "7d4e3f8a-9b2c-4e1d-8f5a-1a2b3c4d5e6f"
            ]
          },
          "select_all_managed_accounts": {
            "type": "boolean",
            "example": true
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed accounts to include",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          }
        },
        "description": "MDR usage request parameters"
      },
      "MediaFeatures": {
        "description": "The media features settings for a phone number.",
        "type": "object",
        "properties": {
          "rtp_auto_adjust_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When RTP Auto-Adjust is enabled, the destination RTP address port will be automatically changed to match the source of the incoming RTP packets."
          },
          "accept_any_rtp_packets_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, Telnyx will accept RTP packets from any customer-side IP address and port, not just those to which Telnyx is sending RTP."
          },
          "t38_fax_gateway_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Controls whether Telnyx will accept a T.38 re-INVITE for this phone number. Note that Telnyx will not send a T.38 re-INVITE; this option only controls whether one will be accepted."
          }
        },
        "example": {
          "rtp_auto_adjust_enabled": true,
          "accept_any_rtp_packets_enabled": true,
          "t38_fax_gateway_enabled": true
        }
      },
      "MediaName": {
        "description": "The media_name used for the fax's media. Must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. Supported formats: PDF, TIFF, JPEG, PNG, DOC, DOCX, RTF, and TXT. media_name and media_url/contents can't be submitted together.",
        "type": "string",
        "example": "my_media_uploaded_to_media_storage_api"
      },
      "MediaResource": {
        "type": "object",
        "title": "Media Resource",
        "properties": {
          "media_name": {
            "description": "Uniquely identifies a media resource.",
            "type": "string"
          },
          "expires_at": {
            "description": "ISO 8601 formatted date of when the media resource will expire and be deleted.",
            "type": "string",
            "example": "2020-01-23T18:10:02.574Z"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the media resource was created",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the media resource was last updated",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "content_type": {
            "type": "string",
            "description": "Content type of the file",
            "example": "application/xml"
          }
        },
        "example": {
          "media_name": "f5586561-8ff0-4291-a0ac-84fe544797bd",
          "expires_at": "2020-01-23T18:10:02.574Z",
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "content_type": "application/xml"
        }
      },
      "MediaStorageDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the Media Storage Event",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "created_at": {
            "type": "string",
            "description": "Event creation time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "asset_id": {
            "type": "string",
            "description": "Asset id",
            "example": "a46f4764-4ce4-4391-804c-02f00bc4ff9b"
          },
          "user_id": {
            "type": "string",
            "description": "User id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "org_id": {
            "type": "string",
            "description": "Organization owner id",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "action_type": {
            "type": "string",
            "description": "Type of action performed against the Media Storage API",
            "example": "upload"
          },
          "link_channel_type": {
            "type": "string",
            "description": "Link channel type",
            "example": "message"
          },
          "link_channel_id": {
            "type": "string",
            "description": "Link channel id",
            "example": "2065f482-64b9-4680-a3a9-c6d3142efdf7"
          },
          "status": {
            "type": "string",
            "description": "Request status",
            "example": "failed"
          },
          "webhook_id": {
            "type": "string",
            "description": "Webhook id",
            "example": "b46f4764-4ce4-4391-804c-02f00bc4ff9b"
          },
          "rate": {
            "type": "string",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing cost",
            "example": "0.0001"
          },
          "rate_measured_in": {
            "type": "string",
            "description": "Billing unit used to calculate the Telnyx billing cost",
            "example": "events"
          },
          "cost": {
            "type": "string",
            "description": "Currency amount for Telnyx billing cost",
            "example": "0.004"
          },
          "currency": {
            "type": "string",
            "description": "Telnyx account currency used to describe monetary values, including billing cost",
            "example": "USD"
          },
          "record_type": {
            "type": "string",
            "example": "media_storage",
            "default": "media_storage"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "MediaUrl": {
        "description": "The URL (or list of URLs) to the fax document. Supported formats: PDF, TIFF, JPEG, PNG, DOC, DOCX, RTF, and TXT. media_url and media_name/contents can't be submitted together.",
        "type": "string",
        "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
      },
      "MessageDetailRecord": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique identifier of the message",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "user_id": {
            "type": "string",
            "description": "Identifier of the Telnyx account who owns the message",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320"
          },
          "completed_at": {
            "type": "string",
            "description": "Message completion time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "created_at": {
            "type": "string",
            "description": "Message creation time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "description": "Message updated time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "sent_at": {
            "type": "string",
            "description": "Time when the message was sent",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "carrier": {
            "type": "string",
            "description": "Country-specific carrier used to send or receive the message",
            "example": "T-Mobile USA"
          },
          "carrier_fee": {
            "type": "string",
            "description": "Fee charged by certain carriers in order to deliver certain message types. Telnyx passes this fee on to the customer according to our pricing table",
            "example": "0.003"
          },
          "cld": {
            "type": "string",
            "description": "The recipient of the message (to parameter in the Messaging API)",
            "example": "+1555123456"
          },
          "cli": {
            "type": "string",
            "description": "The sender of the message (from parameter in the Messaging API). For Alphanumeric ID messages, this is the sender ID value",
            "example": "+1555123456"
          },
          "country_code": {
            "type": "string",
            "description": "Two-letter representation of the country of the cld property using the ISO 3166-1 alpha-2 format",
            "example": "US"
          },
          "delivery_status": {
            "type": "string",
            "description": "Final webhook delivery status",
            "example": "success: webhook succeeded"
          },
          "delivery_status_failover_url": {
            "type": "string",
            "description": "Failover customer-provided URL which Telnyx posts delivery status webhooks to",
            "example": "https://api.example.com/sms/telnyx/inbound"
          },
          "delivery_status_webhook_url": {
            "type": "string",
            "description": "Primary customer-provided URL which Telnyx posts delivery status webhooks to",
            "example": "https://api.example.com/sms/telnyx/inbound"
          },
          "direction": {
            "type": "string",
            "description": "Logical direction of the message from the Telnyx customer's perspective. It's inbound when the Telnyx customer receives the message, or outbound otherwise",
            "example": "outbound",
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "fteu": {
            "type": "boolean",
            "description": "Indicates whether this is a Free-To-End-User (FTEU) short code message",
            "example": false
          },
          "mcc": {
            "type": "string",
            "description": "Mobile country code. Only available for certain products, such as Global Outbound-Only from Alphanumeric Sender ID",
            "example": "204"
          },
          "mnc": {
            "type": "string",
            "description": "Mobile network code. Only available for certain products, such as Global Outbound-Only from Alphanumeric Sender ID",
            "example": "01"
          },
          "message_type": {
            "type": "string",
            "description": "Describes the Messaging service used to send the message. Available services are: Short Message Service (SMS), Multimedia Messaging Service (MMS), and Rich Communication Services (RCS)",
            "example": "SMS",
            "enum": [
              "SMS",
              "MMS",
              "RCS"
            ]
          },
          "on_net": {
            "type": "boolean",
            "description": "Indicates whether both sender and recipient numbers are Telnyx-managed",
            "example": true
          },
          "profile_id": {
            "type": "string",
            "description": "Unique identifier of the Messaging Profile used to send or receive the message",
            "example": "30ef55db-c4a2-4c4a-9804-a68077973d07"
          },
          "profile_name": {
            "type": "string",
            "description": "Name of the Messaging Profile used to send or receive the message",
            "example": "My Messaging Profile"
          },
          "source_country_code": {
            "type": "string",
            "description": "Two-letter representation of the country of the cli property using the ISO 3166-1 alpha-2 format",
            "example": "US"
          },
          "status": {
            "type": "string",
            "description": "Final status of the message after the delivery attempt",
            "example": "delivered",
            "enum": [
              "gw_timeout",
              "delivered",
              "dlr_unconfirmed",
              "dlr_timeout",
              "received",
              "gw_reject",
              "failed"
            ]
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated tags assigned to the Telnyx number associated with the message",
            "example": "tag1,tag2,tag3"
          },
          "rate": {
            "type": "string",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing cost",
            "example": "0.003"
          },
          "currency": {
            "type": "string",
            "description": "Telnyx account currency used to describe monetary values, including billing cost",
            "example": "USD"
          },
          "cost": {
            "type": "string",
            "description": "Amount, in the user currency, for the Telnyx billing cost",
            "example": "0.003"
          },
          "errors": {
            "type": "array",
            "description": "Telnyx API error codes returned by the Telnyx gateway",
            "items": {
              "type": "string",
              "example": "40001"
            }
          },
          "parts": {
            "type": "integer",
            "description": "Number of message parts. The message is broken down in multiple parts when its length surpasses the limit of 160 characters",
            "example": 2
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the record schema",
            "example": "message_detail_record",
            "default": "message_detail_record"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "MessageMetadata": {
        "description": "Metadata to add to the message",
        "type": "object"
      },
      "MessageTemplateResponseDataWrapper": {
        "title": "MessageTemplateResponseDataWrapper",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/VerifyProfileMessageTemplateResponse"
          }
        }
      },
      "MessagingFeatureSet": {
        "type": [
          "object",
          "null"
        ],
        "required": [
          "domestic_two_way",
          "international_inbound",
          "international_outbound"
        ],
        "description": "The set of features available for a specific messaging use case (SMS or MMS). Features\ncan vary depending on the characteristics the phone number, as well as its current\nproduct configuration.\n",
        "properties": {
          "domestic_two_way": {
            "type": "boolean",
            "description": "Send messages to and receive messages from numbers in the same country."
          },
          "international_inbound": {
            "type": "boolean",
            "description": "Receive messages from numbers in other countries."
          },
          "international_outbound": {
            "type": "boolean",
            "description": "Send messages to numbers in other countries."
          }
        },
        "example": {
          "domestic_two_way": true,
          "international_inbound": false,
          "international_outbound": true
        }
      },
      "MessagingHostedNumberOrder": {
        "type": "object",
        "example": {
          "id": "86f58db9-0fe3-4adc-9d1f-46e66e6e9323",
          "record_type": "messaging_hosted_number_order",
          "messaging_profile_id": "dc8f39ac-953d-4520-b93b-786ae87db0da",
          "status": "pending",
          "phone_numbers": [
            {
              "record_type": "messaging_hosted_number",
              "id": "bf6307bd-884d-4c1f-b6ea-c62b8c495d3c",
              "phone_number": "+18665550001",
              "status": "pending"
            },
            {
              "record_type": "messaging_hosted_number",
              "id": "464bd54e-a328-4b11-a131-28e6793cb6f2",
              "phone_number": "+18665550002",
              "status": "pending"
            }
          ]
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "messaging_hosted_number_order",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Resource unique identifier.",
            "readOnly": true
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Automatically associate the number with this messaging profile ID when the order is complete."
          },
          "status": {
            "type": "string",
            "enum": [
              "carrier_rejected",
              "compliance_review_failed",
              "deleted",
              "failed",
              "incomplete_documentation",
              "incorrect_billing_information",
              "ineligible_carrier",
              "loa_file_invalid",
              "loa_file_successful",
              "pending",
              "provisioning",
              "successful"
            ]
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostedNumber"
            }
          }
        }
      },
      "MessagingMetricsTimeFrame": {
        "type": "string",
        "title": "Messaging Metrics Time Frame",
        "description": "The time frame for metrics aggregation.",
        "enum": [
          "1h",
          "3h",
          "24h",
          "3d",
          "7d",
          "30d"
        ],
        "default": "24h"
      },
      "MessagingProfile": {
        "type": "object",
        "properties": {
          "record_type": {
            "description": "Identifies the type of the resource.",
            "type": "string",
            "enum": [
              "messaging_profile"
            ],
            "readOnly": true
          },
          "id": {
            "description": "Identifies the type of resource.",
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "mms_fall_back_to_sms": {
            "description": "enables SMS fallback for MMS messages.",
            "type": "boolean",
            "default": false
          },
          "mms_transcoding": {
            "description": "enables automated resizing of MMS media.",
            "type": "boolean",
            "default": false
          },
          "name": {
            "description": "A user friendly name for the messaging profile.",
            "type": "string"
          },
          "enabled": {
            "description": "Specifies whether the messaging profile is enabled or not.",
            "type": "boolean"
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this messaging profile will be sent.",
            "type": [
              "string",
              "null"
            ],
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this messaging profile will be sent if sending to the primary URL fails.",
            "type": [
              "string",
              "null"
            ],
            "format": "url"
          },
          "webhook_api_version": {
            "description": "Determines which webhook format will be used, Telnyx API v1, v2, or a legacy 2010-04-01 format.",
            "type": "string",
            "enum": [
              "1",
              "2",
              "2010-04-01"
            ]
          },
          "health_webhook_url": {
            "description": "DEPRECATED: health check url service checking",
            "type": [
              "string",
              "null"
            ],
            "format": "url"
          },
          "whitelisted_destinations": {
            "description": "Destinations to which the messaging profile is allowed to send. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed.",
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code.",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "created_at": {
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "v1_secret": {
            "description": "Secret used to authenticate with v1 endpoints.",
            "type": "string"
          },
          "number_pool_settings": {
            "$ref": "#/components/schemas/NumberPoolSettings"
          },
          "url_shortener_settings": {
            "$ref": "#/components/schemas/UrlShortenerSettings"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$"
          },
          "daily_spend_limit": {
            "description": "The maximum amount of money (in USD) that can be spent by this profile before midnight UTC.",
            "type": "string",
            "pattern": "^[0-9]+(?:\\.[0-9]+)?$"
          },
          "daily_spend_limit_enabled": {
            "description": "Whether to enforce the value configured by `daily_spend_limit`.",
            "type": "boolean"
          },
          "redaction_enabled": {
            "description": "Indicates whether message content redaction is enabled for this profile.",
            "type": "boolean",
            "default": false
          },
          "redaction_level": {
            "description": "Determines how much information is redacted in messages for privacy or compliance purposes.",
            "type": "integer",
            "default": 2
          },
          "mobile_only": {
            "description": "Send messages only to mobile phone numbers.",
            "type": "boolean",
            "default": false
          },
          "smart_encoding": {
            "description": "Enables automatic character encoding optimization for SMS messages. When enabled, the system automatically selects the most efficient encoding (GSM-7 or UCS-2) based on message content to maximize character limits and minimize costs.",
            "type": "boolean",
            "default": false
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns this messaging profile."
          },
          "ai_assistant_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The AI assistant ID associated with this messaging profile."
          },
          "resource_group_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The resource group ID associated with this messaging profile."
          }
        },
        "example": {
          "record_type": "messaging_profile",
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "name": "Profile for Messages",
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "enabled": true,
          "webhook_api_version": "2",
          "whitelisted_destinations": [
            "US"
          ],
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "number_pool_settings": {
            "toll_free_weight": 10,
            "long_code_weight": 2,
            "skip_unhealthy": false,
            "sticky_sender": true,
            "geomatch": false
          },
          "url_shortener_settings": {
            "domain": "example.ex",
            "prefix": "cmpny",
            "replace_blacklist_only": true,
            "send_webhooks": false
          },
          "v1_secret": "rP1VamejkU2v0qIUxntqLW2c",
          "health_webhook_url": null,
          "mms_fall_back_to_sms": false,
          "mms_transcoding": false,
          "daily_spend_limit": "100.00",
          "daily_spend_limit_enabled": false,
          "redaction_enabled": false,
          "redaction_level": 2,
          "mobile_only": false
        }
      },
      "MessagingSettings": {
        "properties": {
          "default_messaging_profile_id": {
            "type": "string",
            "description": "Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation."
          },
          "delivery_status_webhook_url": {
            "type": "string",
            "description": "The URL where webhooks related to delivery statused for assistant messages will be sent."
          },
          "conversation_inactivity_minutes": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000000,
            "description": "If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one."
          }
        },
        "type": "object"
      },
      "MessagingUrlDomain": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "url_domain": {
            "type": "string"
          },
          "use_case": {
            "type": "string"
          }
        },
        "example": {
          "record_type": "messaging_url_domain",
          "id": "464bd54e-a328-4b11-a131-28e6793cb6f2",
          "url_domain": "http://example.com",
          "use_case": "test"
        }
      },
      "Meta": {
        "properties": {
          "total_pages": {
            "type": "integer"
          },
          "total_results": {
            "type": "integer"
          },
          "page_number": {
            "type": "integer"
          },
          "page_size": {
            "type": "integer"
          }
        },
        "type": "object",
        "required": [
          "total_pages",
          "total_results",
          "page_number",
          "page_size"
        ],
        "title": "Meta"
      },
      "MetaInfo": {
        "type": "object",
        "properties": {
          "page_number": {
            "type": "integer",
            "description": "Current page number"
          },
          "page_size": {
            "type": "integer",
            "description": "Items per page"
          },
          "total_results": {
            "type": "integer",
            "description": "Total number of results"
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages"
          }
        }
      },
      "MetaResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "This should likely be a URL to the relevant documentation",
            "example": "https://developers.telnyx.com/docs/overview/errors/10001"
          }
        }
      },
      "Metadata": {
        "type": "object",
        "title": "Metadata",
        "properties": {
          "total_pages": {
            "type": "number",
            "description": "Total number of pages based on pagination settings",
            "example": 13,
            "format": "integer"
          },
          "total_results": {
            "type": "number",
            "description": "Total number of results",
            "example": 13,
            "format": "integer"
          },
          "page_number": {
            "type": "number",
            "description": "Current Page based on pagination settings (included when defaults are used.)",
            "example": 3,
            "format": "integer"
          },
          "page_size": {
            "type": "number",
            "description": "Number of results to return per page based on pagination settings (included when defaults are used.)",
            "example": 1,
            "format": "integer"
          }
        }
      },
      "MetadataFieldMapping": {
        "type": "object",
        "required": [
          "local_field",
          "parent_field"
        ],
        "properties": {
          "local_field": {
            "type": "string"
          },
          "parent_field": {
            "type": "string"
          }
        }
      },
      "MetadataInfo": {
        "type": "object",
        "required": [
          "total_record_types",
          "last_updated"
        ],
        "properties": {
          "total_record_types": {
            "type": "integer"
          },
          "last_updated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MetadataOverviewResponse": {
        "type": "object",
        "required": [
          "record_types",
          "query_parameters",
          "meta"
        ],
        "properties": {
          "record_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecordTypeInfo"
            }
          },
          "query_parameters": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/QueryParameterInfo"
            },
            "description": "Map of supported query parameter names to their definitions."
          },
          "meta": {
            "$ref": "#/components/schemas/MetadataInfo"
          }
        }
      },
      "MigrationParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the data migration.",
            "readOnly": true
          },
          "source_id": {
            "type": "string",
            "description": "ID of the Migration Source from which to migrate data."
          },
          "target_bucket_name": {
            "type": "string",
            "description": "Bucket name to migrate the data into. Will default to the same name as the `source_bucket_name`."
          },
          "target_region": {
            "type": "string",
            "description": "Telnyx Cloud Storage region to migrate the data to."
          },
          "refresh": {
            "type": "boolean",
            "description": "If true, will continue to poll the source bucket to ensure new data is continually migrated over."
          },
          "last_copy": {
            "type": "string",
            "format": "date-time",
            "description": "Time when data migration was last copied from the source.",
            "readOnly": true,
            "example": "2020-01-01T00:00:00Z"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "checking",
              "migrating",
              "complete",
              "error",
              "stopped"
            ],
            "readOnly": true,
            "description": "Status of the migration."
          },
          "bytes_to_migrate": {
            "type": "integer",
            "readOnly": true,
            "description": "Total amount of data found in source bucket to migrate."
          },
          "bytes_migrated": {
            "type": "integer",
            "readOnly": true,
            "description": "Total amount of data that has been succesfully migrated."
          },
          "speed": {
            "type": "integer",
            "readOnly": true,
            "description": "Current speed of the migration."
          },
          "eta": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Estimated time the migration will complete.",
            "example": "2020-01-01T00:00:00Z"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Time when data migration was created",
            "readOnly": true,
            "example": "2020-01-01T00:00:00Z"
          }
        },
        "required": [
          "source_id",
          "target_bucket_name",
          "target_region"
        ]
      },
      "MigrationSourceCoverageParams": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "aws"
            ],
            "description": "Cloud provider from which to migrate data."
          },
          "source_region": {
            "type": "string",
            "description": "Provider region from which to migrate data."
          }
        }
      },
      "MigrationSourceParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the data migration source.",
            "readOnly": true
          },
          "provider": {
            "type": "string",
            "enum": [
              "aws",
              "telnyx"
            ],
            "description": "Cloud provider from which to migrate data. Use 'telnyx' if you want to migrate data from one Telnyx bucket to another."
          },
          "source_region": {
            "type": "string",
            "description": "For intra-Telnyx buckets migration, specify the source bucket region in this field."
          },
          "provider_auth": {
            "type": "object",
            "properties": {
              "access_key": {
                "type": "string",
                "description": "AWS Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here."
              },
              "secret_access_key": {
                "type": "string",
                "description": "AWS Secret Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here as well."
              }
            }
          },
          "bucket_name": {
            "type": "string",
            "description": "Bucket name to migrate the data from."
          }
        },
        "required": [
          "provider",
          "provider_auth",
          "bucket_name"
        ]
      },
      "MinimaxClone": {
        "type": "object",
        "description": "Upload-based voice clone using the Minimax provider.",
        "required": [
          "audio_file",
          "name",
          "language",
          "gender",
          "provider"
        ],
        "properties": {
          "audio_file": {
            "type": "string",
            "format": "binary",
            "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum size: 20MB."
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "description": "Name for the voice clone."
          },
          "language": {
            "type": "string",
            "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$",
            "description": "ISO 639-1 language code from the Minimax language set."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Gender of the voice clone."
          },
          "ref_text": {
            "type": "string",
            "description": "Optional transcript of the audio file. Providing this improves clone quality."
          },
          "label": {
            "type": "string",
            "description": "Optional custom label describing the voice style."
          },
          "model_id": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "speech-2.8-turbo",
              null
            ],
            "description": "TTS model identifier. Nullable — defaults to speech-2.8-turbo."
          },
          "provider": {
            "type": "string",
            "enum": [
              "minimax",
              "Minimax"
            ],
            "description": "Voice synthesis provider. Must be `minimax`."
          }
        }
      },
      "MinimaxDesignClone": {
        "type": "object",
        "description": "Create a voice clone from a voice design using the Minimax provider.",
        "required": [
          "name",
          "voice_design_id",
          "language",
          "gender",
          "provider"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Name for the voice clone."
          },
          "voice_design_id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the source voice design to clone."
          },
          "language": {
            "type": "string",
            "description": "ISO 639-1 language code for the clone. Supports the Minimax language set."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Gender of the voice clone."
          },
          "provider": {
            "type": "string",
            "enum": [
              "minimax",
              "Minimax"
            ],
            "description": "Voice synthesis provider. Must be `minimax`."
          }
        },
        "example": {
          "name": "clone-narrator",
          "voice_design_id": "550e8400-e29b-41d4-a716-446655440000",
          "language": "en",
          "gender": "male",
          "provider": "minimax"
        }
      },
      "MinimaxProviderParams": {
        "type": "object",
        "description": "Minimax provider-specific parameters.",
        "properties": {
          "speed": {
            "type": "number",
            "format": "float",
            "description": "Speech speed multiplier."
          },
          "vol": {
            "type": "number",
            "format": "float",
            "description": "Volume level."
          },
          "pitch": {
            "type": "integer",
            "description": "Pitch adjustment."
          },
          "response_format": {
            "type": "string",
            "description": "Audio output format."
          },
          "language_boost": {
            "type": "string",
            "description": "Language code to boost pronunciation for."
          }
        }
      },
      "MinimaxVoiceSettings": {
        "type": "object",
        "title": "Minimax Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "minimax"
            ],
            "description": "Voice settings provider type"
          },
          "speed": {
            "description": "Speech speed multiplier. Default is 1.0.",
            "type": "number",
            "format": "float",
            "example": 1,
            "default": 1
          },
          "vol": {
            "description": "Speech volume multiplier. Default is 1.0.",
            "type": "number",
            "format": "float",
            "example": 1,
            "default": 1
          },
          "pitch": {
            "description": "Voice pitch adjustment. Default is 0.",
            "type": "integer",
            "example": 0,
            "default": 0
          },
          "language_boost": {
            "type": [
              "string",
              "null"
            ],
            "description": "Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection.",
            "enum": [
              null,
              "auto",
              "Chinese",
              "Chinese,Yue",
              "English",
              "Arabic",
              "Russian",
              "Spanish",
              "French",
              "Portuguese",
              "German",
              "Turkish",
              "Dutch",
              "Ukrainian",
              "Vietnamese",
              "Indonesian",
              "Japanese",
              "Italian",
              "Korean",
              "Thai",
              "Polish",
              "Romanian",
              "Greek",
              "Czech",
              "Finnish",
              "Hindi",
              "Bulgarian",
              "Danish",
              "Hebrew",
              "Malay",
              "Persian",
              "Slovak",
              "Swedish",
              "Croatian",
              "Filipino",
              "Hungarian",
              "Norwegian",
              "Slovenian",
              "Catalan",
              "Nynorsk",
              "Tamil",
              "Afrikaans"
            ],
            "default": null
          }
        },
        "required": [
          "type"
        ]
      },
      "MissionData": {
        "properties": {
          "mission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Mission Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "model": {
            "title": "Model",
            "type": "string"
          },
          "instructions": {
            "title": "Instructions",
            "type": "string"
          },
          "execution_mode": {
            "$ref": "#/components/schemas/ExecutionMode"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "mission_id",
          "name",
          "execution_mode",
          "created_at",
          "updated_at"
        ],
        "title": "MissionData"
      },
      "MissionResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MissionData"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "MissionResponse"
      },
      "MissionRunData": {
        "properties": {
          "run_id": {
            "type": "string",
            "format": "uuid",
            "title": "Run Id"
          },
          "mission_id": {
            "type": "string",
            "format": "uuid",
            "title": "Mission Id"
          },
          "status": {
            "$ref": "#/components/schemas/RunStatus"
          },
          "input": {
            "title": "Input",
            "additionalProperties": true,
            "type": "object"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          },
          "finished_at": {
            "title": "Finished At",
            "type": "string",
            "format": "date-time"
          },
          "result_summary": {
            "title": "Result Summary",
            "type": "string"
          },
          "result_payload": {
            "title": "Result Payload",
            "additionalProperties": true,
            "type": "object"
          },
          "error": {
            "title": "Error",
            "type": "string"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "run_id",
          "mission_id",
          "status",
          "started_at",
          "updated_at"
        ],
        "title": "MissionRunData"
      },
      "MissionRunResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/MissionRunData"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "MissionRunResponse"
      },
      "MissionRunsListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/MissionRunData"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "MissionRunsListResponse"
      },
      "MissionsListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/MissionData"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "MissionsListResponse"
      },
      "MnoMetadata": {
        "title": "MnoMetadata",
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "10999": {
            "$ref": "#/components/schemas/MnoMetadataItem"
          }
        }
      },
      "MnoMetadataItem": {
        "title": "MnoMetadataItem",
        "type": "object",
        "required": [
          "qualify",
          "mno",
          "noEmbeddedLink",
          "reqSubscriberHelp",
          "reqSubscriberOptout",
          "mnoReview",
          "noEmbeddedPhone",
          "mnoSupport",
          "reqSubscriberOptin",
          "minMsgSamples"
        ],
        "properties": {
          "qualify": {
            "type": "boolean"
          },
          "mno": {
            "type": "string"
          },
          "noEmbeddedLink": {
            "type": "boolean"
          },
          "reqSubscriberHelp": {
            "type": "boolean"
          },
          "reqSubscriberOptout": {
            "type": "boolean"
          },
          "mnoReview": {
            "type": "boolean"
          },
          "noEmbeddedPhone": {
            "type": "boolean"
          },
          "mnoSupport": {
            "type": "boolean"
          },
          "reqSubscriberOptin": {
            "type": "boolean"
          },
          "minMsgSamples": {
            "type": "integer",
            "example": 1
          }
        }
      },
      "MobileCountryCode": {
        "type": "string",
        "description": "Mobile Country Code.",
        "example": "311"
      },
      "MobileNetworkOperator": {
        "type": "object",
        "title": "MobileNetworkOperator",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "mobile_network_operator"
          },
          "name": {
            "description": "The network operator name.",
            "type": "string",
            "example": "AT&T Mobility (USACG)"
          },
          "tadig": {
            "type": "string",
            "description": "TADIG stands for Transferred Account Data Interchange Group. The TADIG code is a unique identifier for network operators in GSM mobile networks.",
            "example": "USACG"
          },
          "country_code": {
            "type": "string",
            "description": "The mobile operator two-character (ISO 3166-1 alpha-2) origin country code.",
            "example": "US"
          },
          "mcc": {
            "type": "string",
            "description": "MCC stands for Mobile Country Code. It's a three decimal digit that identifies a country.<br/><br/>\nThis code is commonly seen joined with a Mobile Network Code (MNC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "example": "310"
          },
          "mnc": {
            "type": "string",
            "description": "MNC stands for Mobile Network Code. It's a two to three decimal digits that identify a network.<br/><br/>\n This code is commonly seen joined with a Mobile Country Code (MCC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "example": "410"
          },
          "network_preferences_enabled": {
            "type": "boolean",
            "description": "Indicate whether the mobile network operator can be set as preferred in the Network Preferences API.",
            "readOnly": true,
            "example": true
          }
        }
      },
      "MobileNetworkOperatorPreferencesResponse": {
        "description": "",
        "type": "object",
        "properties": {
          "mobile_network_operator_id": {
            "type": "string",
            "format": "uuid",
            "description": "The mobile network operator resource identification UUID.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "mobile_network_operator_name": {
            "type": "string",
            "description": "The mobile network operator resource name.",
            "example": "AT&T Mobility (USACG)"
          },
          "priority": {
            "type": "integer",
            "description": "It determines what is the priority of a specific network operator that should be assumed by a SIM card when connecting to a network. The highest priority is 0, the second highest is 1 and so on.",
            "example": 0
          }
        }
      },
      "MobileNetworkOperatorsPreferencesResponse": {
        "type": "array",
        "description": "A list of mobile network operators and the priority that should be applied when the SIM is connecting to the network.",
        "items": {
          "$ref": "#/components/schemas/MobileNetworkOperatorPreferencesResponse"
        }
      },
      "MobilePhoneNumber": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "mobile_phone_number",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "The +E.164-formatted phone number.",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "description": "The ID of the SIM card associated with this number.",
            "format": "uuid",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "The status of the phone number.",
            "readOnly": true
          },
          "connection_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The ID of the connection associated with this number.",
            "x-format": "int64"
          },
          "connection_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the connection.",
            "readOnly": true
          },
          "connection_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "The type of the connection.",
            "readOnly": true
          },
          "mobile_voice_enabled": {
            "type": "boolean",
            "description": "Indicates if mobile voice is enabled.",
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags associated with the number."
          },
          "customer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "A customer reference string."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was last updated.",
            "readOnly": true
          },
          "call_forwarding": {
            "type": "object",
            "properties": {
              "call_forwarding_enabled": {
                "type": "boolean"
              },
              "forwards_to": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "forwarding_type": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "always",
                  "on-failure"
                ]
              }
            }
          },
          "country_iso_alpha2": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the number.",
            "readOnly": true
          },
          "noise_suppression": {
            "type": "string",
            "description": "The noise suppression setting.",
            "enum": [
              "inbound",
              "outbound",
              "both",
              "disabled"
            ]
          },
          "inbound_call_screening": {
            "type": [
              "string",
              "null"
            ],
            "description": "The inbound call screening setting.",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ]
          },
          "caller_id_name_enabled": {
            "type": "boolean",
            "description": "Indicates if caller ID name is enabled."
          },
          "call_recording": {
            "type": "object",
            "properties": {
              "inbound_call_recording_enabled": {
                "type": "boolean"
              },
              "inbound_call_recording_channels": {
                "type": "string",
                "enum": [
                  "single",
                  "dual"
                ]
              },
              "inbound_call_recording_format": {
                "type": "string",
                "enum": [
                  "wav",
                  "mp3"
                ]
              }
            }
          },
          "cnam_listing": {
            "type": "object",
            "properties": {
              "cnam_listing_enabled": {
                "type": "boolean"
              },
              "cnam_listing_details": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "interception_app_id": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The ID of the app that will intercept outbound calls.",
                "x-format": "int64"
              },
              "interception_app_name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The name of the app that will intercept outbound calls.",
                "readOnly": true
              }
            }
          },
          "inbound": {
            "type": "object",
            "properties": {
              "interception_app_id": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The ID of the app that will intercept inbound calls.",
                "x-format": "int64"
              },
              "interception_app_name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The name of the app that will intercept inbound calls.",
                "readOnly": true
              }
            }
          }
        }
      },
      "MobilePhoneNumberUpdate": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": [
              "string",
              "null"
            ]
          },
          "connection_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "noise_suppression": {
            "type": "boolean"
          },
          "inbound_call_screening": {
            "type": "string",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ]
          },
          "caller_id_name_enabled": {
            "type": "boolean"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inbound": {
            "type": "object",
            "properties": {
              "interception_app_id": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The ID of the CallControl or TeXML Application that will intercept inbound calls.",
                "x-format": "int64"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "interception_app_id": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The ID of the CallControl or TeXML Application that will intercept outbound calls.",
                "x-format": "int64"
              }
            }
          },
          "call_forwarding": {
            "type": "object",
            "properties": {
              "forwards_to": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "forwarding_type": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "always",
                  "on-failure"
                ]
              },
              "call_forwarding_enabled": {
                "type": "boolean"
              }
            }
          },
          "cnam_listing": {
            "type": "object",
            "properties": {
              "cnam_listing_enabled": {
                "type": "boolean"
              },
              "cnam_listing_details": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "call_recording": {
            "type": "object",
            "properties": {
              "inbound_call_recording_enabled": {
                "type": "boolean"
              },
              "inbound_call_recording_channels": {
                "type": "string",
                "enum": [
                  "single",
                  "dual"
                ]
              },
              "inbound_call_recording_format": {
                "type": "string",
                "enum": [
                  "wav",
                  "mp3"
                ]
              }
            }
          }
        }
      },
      "MobilePhoneNumberWithMessagingSettings": {
        "type": "object",
        "example": {
          "record_type": "messaging_settings",
          "id": "2126210528794641864",
          "phone_number": "++13127367407",
          "messaging_profile_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "country_code": "US",
          "type": "longcode",
          "traffic_type": "P2P",
          "messaging_product": "P2P",
          "features": {
            "sms": {
              "domestic_two_way": true,
              "international_inbound": true,
              "international_outbound": true
            }
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "messaging_settings",
            "enum": [
              "messaging_phone_number",
              "messaging_settings"
            ],
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "+E.164 formatted phone number.",
            "readOnly": true,
            "x-format": "e164"
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unique identifier for a messaging profile."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code.",
            "pattern": "^[A-Z]{2}$",
            "example": "US",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "description": "The type of the phone number",
            "enum": [
              "longcode"
            ],
            "readOnly": true
          },
          "traffic_type": {
            "type": "string",
            "description": "The messaging traffic or use case for which the number is currently configured.",
            "example": "P2P",
            "readOnly": true
          },
          "messaging_product": {
            "type": "string",
            "description": "The messaging product that the number is registered to use",
            "example": "P2P"
          },
          "features": {
            "type": "object",
            "readOnly": true,
            "properties": {
              "sms": {
                "$ref": "#/components/schemas/MessagingFeatureSet"
              }
            }
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns this phone number."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with this phone number."
          }
        }
      },
      "MobileVoiceConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "mobile_voice_connection",
            "enum": [
              "mobile_voice_connection"
            ],
            "readOnly": true
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the connection is active."
          },
          "connection_name": {
            "type": "string",
            "description": "The name of the connection."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags associated with the connection."
          },
          "webhook_event_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "The URL where webhooks are sent."
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "The failover URL where webhooks are sent."
          },
          "webhook_api_version": {
            "type": [
              "string",
              "null"
            ],
            "description": "The API version for webhooks.",
            "enum": [
              "1",
              "2"
            ]
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The timeout for webhooks in seconds."
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "outbound_voice_profile_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": [
                  "integer",
                  "null"
                ]
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "MobileVoiceConnectionCreate": {
        "type": "object",
        "required": [],
        "properties": {
          "active": {
            "type": "boolean",
            "default": true
          },
          "connection_name": {
            "type": "string",
            "default": "Telnyx Mobile Voice IMS"
          },
          "webhook_event_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_api_version": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "default": "2"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer"
              },
              "outbound_voice_profile_id": {
                "type": "string"
              }
            }
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer"
              }
            }
          }
        }
      },
      "MobileVoiceConnectionUpdate": {
        "type": "object",
        "required": [],
        "properties": {
          "active": {
            "type": "boolean"
          },
          "connection_name": {
            "type": "string"
          },
          "webhook_event_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_api_version": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ]
          },
          "webhook_timeout_secs": {
            "type": "integer"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer"
              },
              "outbound_voice_profile_id": {
                "type": "string"
              }
            }
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer"
              }
            }
          }
        }
      },
      "ModelMetadata": {
        "type": "object",
        "title": "ModelMetadata",
        "description": "Metadata for a model available on Telnyx Inference. Returned by `GET /v2/ai/openai/models` (and the deprecated `GET /v2/ai/models`). Open-source models live under their Hugging Face organization (e.g. `moonshotai/Kimi-K2.6`, `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`); fine-tuned models are owned by the Telnyx organization that trained them.",
        "required": [
          "id",
          "created",
          "owned_by",
          "organization",
          "context_length",
          "languages",
          "parameters",
          "tier",
          "license"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "Model identifier. For open-source models, follows the `{organization}/{model_name}` convention from Hugging Face (e.g. `moonshotai/Kimi-K2.6`).",
            "example": "moonshotai/Kimi-K2.6"
          },
          "object": {
            "type": "string",
            "title": "Object",
            "default": "model",
            "description": "Object type. Always `model`."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created",
            "description": "Timestamp at which the model was registered on Telnyx Inference (ISO 8601)."
          },
          "base_model": {
            "type": [
              "string",
              "null"
            ],
            "title": "Base Model",
            "description": "Base model the fine-tuned model was trained from. Only set for fine-tuned models."
          },
          "owned_by": {
            "type": "string",
            "title": "Owned By",
            "description": "Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream provider name for proxied models, or the Telnyx organization id for fine-tuned models.",
            "example": "Telnyx"
          },
          "organization": {
            "type": "string",
            "title": "Organization",
            "description": "Organization that originally published the model, matching the prefix of `id` for open-source models.",
            "example": "moonshotai"
          },
          "task": {
            "type": "string",
            "title": "Task",
            "default": "text-generation",
            "description": "Primary task the model is intended for, e.g. `text-generation`, `audio-text-to-text`, `feature-extraction` (embeddings).",
            "example": "text-generation"
          },
          "context_length": {
            "type": "integer",
            "title": "Context Length",
            "description": "Maximum total tokens (prompt + completion) supported by the model in a single request.",
            "example": 262144
          },
          "max_completion_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "title": "Max Completion Tokens",
            "description": "Maximum number of completion (output) tokens the model will generate per request. `null` if unconstrained beyond `context_length`."
          },
          "languages": {
            "type": "array",
            "title": "Languages",
            "items": {
              "type": "string"
            },
            "description": "ISO language codes the model supports (e.g. `en`, `es`)."
          },
          "parameters": {
            "type": "integer",
            "title": "Parameters",
            "description": "Total parameter count of the model.",
            "example": 1000000000000
          },
          "parameters_str": {
            "type": [
              "string",
              "null"
            ],
            "title": "Parameters (human readable)",
            "description": "Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.",
            "example": "1.0T"
          },
          "tier": {
            "type": "string",
            "title": "Tier",
            "enum": [
              "small",
              "medium",
              "large",
              "unlisted"
            ],
            "description": "Billing tier the model belongs to. Used together with `pricing` to determine cost per 1M tokens."
          },
          "license": {
            "type": "string",
            "title": "License",
            "description": "License the model is distributed under, e.g. `Apache 2.0`, `MIT`, `Llama 3 Community License`."
          },
          "is_fine_tunable": {
            "type": "boolean",
            "title": "Is Fine Tunable",
            "default": false,
            "description": "Whether the model can be used as a base for a fine-tuning job via `POST /v2/ai/fine_tuning/jobs`."
          },
          "recommended_for_assistants": {
            "type": "boolean",
            "title": "Recommended For Assistants",
            "default": false,
            "description": "Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI Assistant."
          },
          "is_vision_supported": {
            "type": "boolean",
            "title": "Is Vision Supported",
            "default": false,
            "description": "Whether the model accepts image inputs in chat completions (multimodal vision support)."
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "title": "Description",
            "description": "Short, human-readable summary of what the model is best suited for."
          },
          "pricing": {
            "type": "object",
            "title": "Pricing",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Mapping of token kind to price, as strings to preserve precision. Typical keys are `prompt`, `cached_prompt`, and `completion`. When pricing is available the block also includes `currency` (ISO 4217 code matching the account's configured billing currency) and `unit` (the denomination the prices are quoted in, currently always `1M_tokens` for token-priced models).",
            "example": {
              "prompt": "0.300000",
              "completion": "1.200000",
              "cached_prompt": "0.060000",
              "currency": "USD",
              "unit": "1M_tokens"
            }
          },
          "regions": {
            "type": "array",
            "title": "Regions",
            "items": {
              "type": "string"
            },
            "description": "Public region names where the model is currently deployed (e.g. `us-central-1`, `eu-central-1`).",
            "example": [
              "us-central-1",
              "us-east-1"
            ]
          }
        }
      },
      "ModelsResponse": {
        "properties": {
          "object": {
            "type": "string",
            "title": "Object",
            "default": "list"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/ModelMetadata"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ModelsResponse"
      },
      "Monochrome": {
        "description": "The flag to enable monochrome, true black and white fax results.",
        "type": "boolean",
        "default": false
      },
      "MonthDetail": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "integer",
            "description": "Number of items",
            "example": 10
          },
          "mrc": {
            "type": "string",
            "description": "Monthly recurring charge amount as decimal string",
            "example": "25.50"
          },
          "otc": {
            "type": [
              "string",
              "null"
            ],
            "description": "One-time charge amount as decimal string",
            "example": "5.00"
          }
        },
        "required": [
          "quantity",
          "mrc"
        ]
      },
      "MonthlyChargesBreakdownResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/BreakdownData"
          }
        },
        "required": [
          "data"
        ]
      },
      "MonthlyChargesSummaryResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SummaryAndTotal"
          }
        },
        "required": [
          "data"
        ]
      },
      "Network": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "type": "object",
            "title": "Network",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "network"
              },
              "name": {
                "type": "string",
                "description": "A user specified name for the network.",
                "example": "test network"
              }
            }
          }
        ]
      },
      "NetworkCoverage": {
        "type": "object",
        "title": "NetworkCoverage",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "network_coverage"
          },
          "location": {
            "$ref": "#/components/schemas/netapps_Location"
          },
          "available_services": {
            "type": "array",
            "description": "List of interface types supported in this region.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AvailableService"
                }
              ]
            }
          }
        }
      },
      "NetworkCreate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Network"
          },
          {
            "type": "object",
            "title": "NetworkCreate",
            "required": [
              "name"
            ]
          }
        ]
      },
      "NetworkInterface": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "$ref": "#/components/schemas/Interface"
          },
          {
            "$ref": "#/components/schemas/RegionOut"
          },
          {
            "type": "object",
            "title": "NetworkInterface",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "network_interface"
              },
              "type": {
                "type": "string",
                "description": "Identifies the type of the interface.",
                "readOnly": true,
                "example": "wireguard_interface"
              }
            }
          }
        ]
      },
      "NewBillingGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A name for the billing group"
          }
        },
        "example": {
          "name": "string"
        }
      },
      "NewLedgerBillingGroupReport": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "description": "Year of the ledger billing group report",
            "example": 2019
          },
          "month": {
            "type": "integer",
            "description": "Month of the ledger billing group report",
            "example": 10
          }
        },
        "example": {
          "year": 2019,
          "month": 10
        }
      },
      "NewParticipantResource": {
        "type": "object",
        "title": "New participant resource",
        "example": {
          "account_sid": "4e71926f-8f13-450e-b91c-23c2ef786aa6",
          "call_sid": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
          "coaching": false,
          "conference_sid": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1",
          "end_conference_on_exit": false,
          "hold": false,
          "muted": false,
          "status": "completed",
          "uri": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ.json"
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "call_sid": {
            "type": "string",
            "description": "The identifier of this participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "coaching": {
            "type": "boolean",
            "description": "Whether the participant is coaching another call.",
            "example": false
          },
          "coaching_call_sid": {
            "type": "string",
            "description": "The identifier of the coached participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "end_conference_on_exit": {
            "type": "boolean",
            "description": "Whether the conference ends when the participant leaves.",
            "example": false
          },
          "hold": {
            "type": "boolean",
            "description": "Whether the participant is on hold.",
            "example": false
          },
          "muted": {
            "type": "boolean",
            "description": "Whether the participant is muted.",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "The status of the participant's call in the conference.",
            "enum": [
              "connecting",
              "connected",
              "completed"
            ],
            "example": "connected"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this participant.",
            "example": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ.json"
          },
          "conference_sid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the conference.",
            "example": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1"
          }
        }
      },
      "NoiseSuppressionDirection": {
        "type": "string",
        "title": "Noise Suppression Direction",
        "description": "The direction of the audio stream to be noise suppressed.",
        "enum": [
          "inbound",
          "outbound",
          "both"
        ],
        "default": "inbound",
        "example": "outbound"
      },
      "NoiseSuppressionEngine": {
        "type": "string",
        "title": "Noise Suppression Engine",
        "description": "The engine to use for noise suppression.\nFor backward compatibility, engines A, B, C, and D are also supported, but are deprecated:\n A - Denoiser\n B - DeepFilterNet\n C - Krisp\n D - AiCoustics",
        "enum": [
          "Denoiser",
          "DeepFilterNet",
          "Krisp",
          "AiCoustics"
        ],
        "default": "Denoiser",
        "example": "Denoiser"
      },
      "NoiseSuppressionEngineConfig": {
        "type": "object",
        "title": "Noise Suppression Engine Configuration",
        "description": "Configuration parameters for noise suppression engines. Different engines support different parameters.",
        "properties": {
          "attenuation_limit": {
            "type": "integer",
            "description": "The attenuation limit for noise suppression (0-100). Only applicable for DeepFilterNet.",
            "minimum": 0,
            "maximum": 100,
            "default": 100,
            "example": 100
          },
          "mode": {
            "type": "string",
            "description": "Processing mode. Only applicable for DeepFilterNet.",
            "enum": [
              "standard",
              "advanced"
            ],
            "example": "standard"
          },
          "model": {
            "type": "string",
            "description": "The Krisp model to use. Only applicable for Krisp.",
            "enum": [
              "krisp-viva-tel-v2.kef",
              "krisp-viva-tel-lite-v1.kef",
              "krisp-viva-pro-v1.kef",
              "krisp-viva-ss-v1.kef"
            ],
            "example": "krisp-viva-tel-v2.kef"
          },
          "suppression_level": {
            "type": "number",
            "description": "Suppression level (0.0-100.0). Only applicable for Krisp.",
            "minimum": 0,
            "maximum": 100,
            "example": 50
          },
          "family": {
            "type": "string",
            "description": "AiCoustics model family. 'sparrow' optimized for human-to-human calls, 'quail' optimized for Voice AI/STT. Only applicable for AiCoustics.",
            "enum": [
              "sparrow",
              "quail"
            ],
            "example": "sparrow"
          },
          "size": {
            "type": "string",
            "description": "AiCoustics model size. 's' and 'l' work with both families. 'xs' and 'xxs' are sparrow-only. 'vf_l' and 'vf_1_1_l' are quail-only. Only applicable for AiCoustics.",
            "enum": [
              "s",
              "l",
              "xs",
              "xxs",
              "vf_l",
              "vf_1_1_l"
            ],
            "example": "l"
          },
          "enhancement_level": {
            "type": "number",
            "description": "Enhancement intensity (0.0-1.0). Only applicable for AiCoustics.",
            "minimum": 0,
            "maximum": 1,
            "example": 0.5
          },
          "voice_gain": {
            "type": "number",
            "description": "Voice gain multiplier (0.1-4.0). Only applicable for AiCoustics.",
            "minimum": 0.1,
            "maximum": 4,
            "example": 1
          }
        }
      },
      "NoiseSuppressionStart": {
        "type": "object",
        "title": "Noise Suppression Start Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "direction": {
            "$ref": "#/components/schemas/NoiseSuppressionDirection"
          },
          "noise_suppression_engine": {
            "$ref": "#/components/schemas/NoiseSuppressionEngine"
          },
          "noise_suppression_engine_config": {
            "$ref": "#/components/schemas/NoiseSuppressionEngineConfig"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "direction": "both",
          "noise_suppression_engine": "DeepFilterNet",
          "noise_suppression_engine_config": {
            "attenuation_limit": 100
          }
        }
      },
      "NoiseSuppressionStop": {
        "type": "object",
        "title": "Noise Suppression Stop Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "NotFoundError": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Telnyx error code"
          },
          "detail": {
            "type": "string",
            "title": "Error details"
          },
          "title": {
            "type": "string",
            "title": "Error title"
          }
        },
        "type": "object",
        "required": [
          "detail"
        ],
        "title": "NotFoundError"
      },
      "NotificationChannel": {
        "description": "A Notification Channel",
        "properties": {
          "id": {
            "type": "string",
            "description": "A UUID.",
            "readOnly": true,
            "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a"
          },
          "notification_profile_id": {
            "type": "string",
            "description": "A UUID reference to the associated Notification Profile.",
            "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a"
          },
          "channel_type_id": {
            "type": "string",
            "description": "A Channel Type ID",
            "enum": [
              "sms",
              "voice",
              "email",
              "webhook"
            ]
          },
          "channel_destination": {
            "type": "string",
            "description": "The destination associated with the channel type.",
            "example": "+13125550000"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "NotificationEvent": {
        "description": "An object representing the available notifications.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A UUID.",
            "readOnly": true,
            "example": "d5c395cd-9864-4609-b5e2-3f9fd4ce201a"
          },
          "name": {
            "type": "string",
            "description": "A human readable name.",
            "example": "Emergency Number Dialed"
          },
          "notification_category": {
            "type": "string",
            "example": "Calls"
          },
          "enabled": {
            "type": "boolean",
            "example": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z"
          }
        },
        "type": "object"
      },
      "NotificationEventCondition": {
        "properties": {
          "id": {
            "type": "string",
            "description": "A UUID.",
            "readOnly": true,
            "example": "70c7c5cb-dce2-4124-accb-870d39dbe852"
          },
          "name": {
            "type": "string",
            "example": "from phone number"
          },
          "description": {
            "type": "string",
            "example": "When emergency number dialed from phone number X"
          },
          "notification_event_id": {
            "type": "string",
            "example": "d5c395cd-9864-4609-b5e2-3f9fd4ce201a"
          },
          "associated_record_type": {
            "type": "string",
            "enum": [
              "account",
              "phone_number"
            ],
            "example": "phone_number"
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "phone_number"
                },
                "optional": {
                  "type": "boolean",
                  "example": false
                },
                "data_type": {
                  "type": "string",
                  "example": "string"
                }
              }
            }
          },
          "enabled": {
            "type": "boolean",
            "example": true
          },
          "allow_multiple_channels": {
            "description": "Dictates whether a notification channel id needs to be provided when creating a notficiation setting.",
            "type": "boolean",
            "example": false
          },
          "asynchronous": {
            "description": "Dictates whether a notification setting will take effect immediately.",
            "type": "boolean",
            "example": true
          },
          "supported_channels": {
            "description": "Dictates the supported notification channel types that can be emitted.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "webhook",
              "sms",
              "email",
              "voice"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z"
          }
        },
        "type": "object"
      },
      "NotificationProfile": {
        "description": "A Collection of Notification Channels",
        "properties": {
          "id": {
            "type": "string",
            "description": "A UUID.",
            "readOnly": true,
            "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a"
          },
          "name": {
            "type": "string",
            "description": "A human readable name."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "NotificationSetting": {
        "properties": {
          "id": {
            "type": "string",
            "description": "A UUID.",
            "readOnly": true,
            "example": "8eb5b5f9-5893-423c-9f15-b487713d44d4"
          },
          "notification_event_condition_id": {
            "type": "string",
            "description": "A UUID reference to the associated Notification Event Condition.",
            "example": "70c7c5cb-dce2-4124-accb-870d39dbe852"
          },
          "notification_profile_id": {
            "type": "string",
            "description": "A UUID reference to the associated Notification Profile.",
            "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a"
          },
          "associated_record_type": {
            "type": "string",
            "example": "phone_number",
            "readOnly": true
          },
          "associated_record_type_value": {
            "type": "string",
            "example": "+13125550000",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Most preferences apply immediately; however, other may needs to propagate.",
            "enum": [
              "enabled",
              "enable-received",
              "enable-pending",
              "enable-submtited",
              "delete-received",
              "delete-pending",
              "delete-submitted",
              "deleted"
            ],
            "example": "enable-received",
            "readOnly": true
          },
          "notification_channel_id": {
            "type": "string",
            "description": "A UUID reference to the associated Notification Channel.",
            "example": "12455643-3cf1-4683-ad23-1cd32f7d5e0a"
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "phone_number"
                },
                "value": {
                  "type": "string",
                  "example": "+13125550000"
                }
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2019-10-15T10:07:15.527Z",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "NumberBlockOrder": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_block_order",
            "readOnly": true
          },
          "starting_number": {
            "type": "string",
            "description": "Starting phone number block",
            "example": "+19705555000"
          },
          "range": {
            "type": "integer",
            "description": "The phone number range included in the block.",
            "example": 10
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "The count of phone numbers in the number order.",
            "example": 1,
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "346789098765567",
            "description": "Identifies the connection associated to all numbers in the phone number block."
          },
          "messaging_profile_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated to all numbers in the phone number block."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "example": "success",
            "description": "The status of the order.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the number order was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number order was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for every phone number, false otherwise.",
            "example": true,
            "readOnly": true
          }
        },
        "example": {
          "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
          "starting_number": "+19705555000",
          "range": 10,
          "record_type": "number_block_order",
          "connection_id": "346789098765567",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600",
          "phone_numbers_count": 10,
          "status": "pending",
          "customer_reference": "MY REF 001",
          "created_at": "2018-01-01T00:00:00.000000Z",
          "updated_at": "2018-01-01T00:00:00.000000Z",
          "requirements_met": true
        },
        "type": "object"
      },
      "NumberBreakdownResult": {
        "type": "object",
        "properties": {
          "tn": {
            "type": "string",
            "description": "Phone number",
            "example": "+15551234567"
          },
          "charge_type": {
            "type": "string",
            "description": "Type of charge for the number",
            "example": "local"
          },
          "service_owner_user_id": {
            "type": "string",
            "description": "User ID of the service owner",
            "example": "0db0b4aa-a83d-4d4f-ad9b-3ba7c1ac2ce8"
          },
          "service_owner_email": {
            "type": "string",
            "format": "email",
            "description": "Email address of the service owner",
            "example": "user@example.com"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceDetail"
            },
            "description": "List of services associated with this number"
          }
        },
        "required": [
          "tn",
          "charge_type",
          "service_owner_user_id",
          "service_owner_email",
          "services"
        ]
      },
      "NumberHealthMetrics": {
        "type": "object",
        "required": [
          "message_count",
          "inbound_outbound_ratio",
          "success_ratio",
          "spam_ratio"
        ],
        "description": "High level health metrics about the number and it's messaging sending patterns.\n",
        "properties": {
          "message_count": {
            "type": "integer",
            "description": "The number of messages analyzed for the health metrics."
          },
          "inbound_outbound_ratio": {
            "type": "number",
            "format": "float",
            "description": "The ratio of messages received to the number of messages sent."
          },
          "success_ratio": {
            "type": "number",
            "format": "float",
            "description": "The ratio of messages sucessfully delivered to the number of messages attempted."
          },
          "spam_ratio": {
            "type": "number",
            "format": "float",
            "description": "The ratio of messages blocked for spam to the number of messages attempted."
          }
        },
        "example": {
          "message_count": 10,
          "inbound_outbound_ratio": 1,
          "success_ratio": 2,
          "spam_ratio": 10
        }
      },
      "NumberLookupRecord": {
        "type": "object",
        "title": "NumberLookup",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Identifies the type of record",
            "example": "number_lookup"
          },
          "country_code": {
            "type": "string",
            "description": "Region code that matches the specific country calling code",
            "example": "US"
          },
          "national_format": {
            "type": "string",
            "description": "Hyphen-separated national number, preceded by the national destination code (NDC), with a 0 prefix, if an NDC is found",
            "example": "(0312) 945-7420"
          },
          "phone_number": {
            "type": "string",
            "description": "E164-formatted phone number",
            "example": "+13129457420"
          },
          "fraud": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unused",
            "example": null
          },
          "carrier": {
            "$ref": "#/components/schemas/Carrier"
          },
          "caller_name": {
            "$ref": "#/components/schemas/CallerName"
          },
          "portability": {
            "$ref": "#/components/schemas/Portability"
          }
        }
      },
      "NumberOrder": {
        "title": "Number Order With Phone Numbers",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_order",
            "readOnly": true
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "The count of phone numbers in the number order.",
            "example": 1,
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "346789098765567",
            "description": "Identifies the connection associated with this phone number."
          },
          "messaging_profile_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "billing_group_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "description": "The unique phone numbers given as arguments in the job creation.",
              "$ref": "#/components/schemas/PhoneNumbersJobPhoneNumber"
            }
          },
          "sub_number_orders_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the order.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the number order was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number order was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for every phone number, false otherwise.",
            "example": true,
            "readOnly": true
          }
        }
      },
      "NumberOrderPhoneNumber": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_order_phone_number",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "example": "+19705555098"
          },
          "order_request_id": {
            "type": "string",
            "format": "uuid",
            "example": "dc8e4d67-33a0-4cbb-af74-7b58f05bd495"
          },
          "sub_number_order_id": {
            "type": "string",
            "format": "uuid",
            "example": "dc8e4d67-33a0-4cbb-af74-7b58f05bd496"
          },
          "country_code": {
            "type": "string",
            "example": "US"
          },
          "phone_number_type": {
            "type": "string",
            "example": "local",
            "enum": [
              "local",
              "toll_free",
              "mobile",
              "national",
              "shared_cost",
              "landline"
            ]
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubNumberOrderRegulatoryRequirementWithValue"
            }
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for a phone number, false otherwise.",
            "example": true,
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the phone number in the order.",
            "readOnly": true
          },
          "bundle_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "example": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
            "readOnly": true
          },
          "locality": {
            "type": "string",
            "example": "San Francisco"
          },
          "deadline": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-31T11:14:00Z"
          },
          "requirements_status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "cancelled",
              "deleted",
              "requirement-info-exception",
              "requirement-info-pending",
              "requirement-info-under-review"
            ],
            "description": "Status of requirements (if applicable)",
            "readOnly": true
          },
          "is_block_number": {
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "NumberOrderPhoneNumberRequirementGroupResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "pending"
          },
          "order_request_id": {
            "type": "string",
            "format": "uuid",
            "example": "a11d58fe-88a4-494a-b752-8dea411993c6"
          },
          "country_code": {
            "type": "string",
            "example": "AT"
          },
          "is_block_number": {
            "type": "boolean",
            "example": false
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "requirement_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "field_value": {
                  "type": "string",
                  "example": "1234567890"
                },
                "field_type": {
                  "type": "string",
                  "example": "textual"
                },
                "status": {
                  "type": "string",
                  "example": "pending-approval"
                }
              }
            }
          },
          "locality": {
            "type": "string",
            "example": "AUSTRIA"
          },
          "phone_number_type": {
            "type": "string",
            "example": "toll_free"
          },
          "bundle_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "sub_number_order_id": {
            "type": "string",
            "format": "uuid",
            "example": "f826ed66-b27c-4340-9dc0-57dc3459f1bd"
          },
          "deadline": {
            "type": "string",
            "format": "date-time"
          },
          "requirements_status": {
            "type": "string",
            "example": "requirement-info-under-review"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "613d517a-0432-4bae-a785-c11033bd0985"
          },
          "phone_number": {
            "type": "string",
            "example": "+43800300238"
          },
          "requirements_met": {
            "type": "boolean",
            "example": false
          },
          "record_type": {
            "type": "string",
            "example": "number_order_phone_number"
          }
        }
      },
      "NumberOrderWebhookEvent": {
        "type": "object",
        "title": "Number Order Event",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "event_type": {
                "type": "string",
                "example": "number_order.complete",
                "description": "The type of event being sent"
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "d578b093-a0e7-4b64-b0d3-6b689a6ff170",
                "description": "Unique identifier for the event"
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2025-08-22T16:23:54.496464Z",
                "description": "ISO 8601 timestamp of when the event occurred"
              },
              "payload": {
                "$ref": "#/components/schemas/NumberOrderWithPhoneNumbers"
              },
              "record_type": {
                "type": "string",
                "example": "event",
                "description": "Type of record"
              }
            },
            "required": [
              "event_type",
              "id",
              "occurred_at",
              "payload",
              "record_type"
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "attempt": {
                "type": "integer",
                "example": 1,
                "description": "Webhook delivery attempt number"
              },
              "delivered_to": {
                "type": "string",
                "format": "uri",
                "example": "https://sample-api.com/webhook",
                "description": "URL where the webhook was delivered"
              }
            },
            "required": [
              "attempt",
              "delivered_to"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "NumberOrderWithPhoneNumbers": {
        "title": "NumberOrder",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_order",
            "readOnly": true
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "The count of phone numbers in the number order.",
            "example": 1,
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "346789098765567",
            "description": "Identifies the connection associated with this phone number."
          },
          "messaging_profile_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "billing_group_id": {
            "type": "string",
            "example": "abc85f64-5717-4562-b3fc-2c9600",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "description": "The unique phone numbers given as arguments in the job creation.",
              "$ref": "#/components/schemas/PhoneNumber"
            }
          },
          "sub_number_orders_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the order.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the number order was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number order was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for every phone number, false otherwise.",
            "example": true,
            "readOnly": true
          }
        }
      },
      "NumberPoolSettings": {
        "type": [
          "object",
          "null"
        ],
        "required": [
          "toll_free_weight",
          "long_code_weight",
          "skip_unhealthy"
        ],
        "description": "Number Pool allows you to send messages from a pool of numbers of different types, assigning\nweights to each type. The pool consists of all the long code and toll free numbers\nassigned to the messaging profile.\n\nTo disable this feature, set the object field to `null`.\n",
        "properties": {
          "toll_free_weight": {
            "type": "number",
            "example": 10,
            "description": "Defines the probability weight for a Toll Free number to be selected when sending a message.\nThe higher the weight the higher the probability. The sum of the weights for all number types\ndoes not necessarily need to add to 100. Weight must be a non-negative number, and when equal\nto zero it will remove the number type from the pool.\n"
          },
          "long_code_weight": {
            "type": "number",
            "example": 1,
            "description": "Defines the probability weight for a Long Code number to be selected when sending a message.\nThe higher the weight the higher the probability. The sum of the weights for all number types\ndoes not necessarily need to add to 100.  Weight must be a non-negative number, and when equal\nto zero it will remove the number type from the pool.\n"
          },
          "skip_unhealthy": {
            "type": "boolean",
            "example": true,
            "description": "If set to true all unhealthy numbers will be automatically excluded from the pool.\nHealth metrics per number are calculated on a regular basis, taking into account the deliverability\nrate and the amount of messages marked as spam by upstream carriers.\nNumbers with a deliverability rate below 25% or spam ratio over 75% will be considered unhealthy.\n"
          },
          "sticky_sender": {
            "type": "boolean",
            "default": false,
            "description": "If set to true, Number Pool will try to choose the same sending number for all messages to a particular\nrecipient. If the sending number becomes unhealthy and `skip_unhealthy` is set to true, a new\nnumber will be chosen.\n"
          },
          "geomatch": {
            "type": "boolean",
            "default": false,
            "description": "If set to true, Number Pool will try to choose a sending number with the same area code as the destination\nnumber. If there are no such numbers available, a nunber with a different area code will be chosen. Currently\nonly NANP numbers are supported.\n"
          }
        },
        "example": {
          "toll_free_weight": 10,
          "long_code_weight": 1,
          "skip_unhealthy": true,
          "sticky_sender": false,
          "geomatch": false
        }
      },
      "NumberReservation": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_reservation",
            "readOnly": true
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservedPhoneNumber"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the entire reservation.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the numbers reservation was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "errors": {
            "type": "string",
            "description": "Errors the reservation could happen upon",
            "example": "Number is already on hold",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number reservation was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          }
        },
        "example": {
          "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
          "record_type": "number_reservation",
          "phone_numbers": [
            {
              "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
              "record_type": "reserved_phone_number",
              "phone_number": "+19705555098",
              "status": "pending",
              "created_at": "2018-01-01T00:00:00.000000Z",
              "updated_at": "2018-01-01T00:00:00.000000Z",
              "expired_at": "2018-01-01T00:00:00.000000Z",
              "errors": "Number is already on hold"
            }
          ],
          "status": "pending",
          "customer_reference": "MY REF 001",
          "created_at": "2018-01-01T00:00:00.000000Z",
          "updated_at": "2018-01-01T00:00:00.000000Z"
        },
        "type": "object"
      },
      "OAuthClient": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "oauth_client"
            ],
            "description": "Record type identifier"
          },
          "client_id": {
            "type": "string",
            "description": "OAuth client identifier"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the OAuth client"
          },
          "org_id": {
            "type": "string",
            "description": "Organization ID that owns this OAuth client"
          },
          "user_id": {
            "type": "string",
            "description": "User ID that created this OAuth client"
          },
          "allowed_scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of allowed OAuth scopes"
          },
          "client_type": {
            "type": "string",
            "enum": [
              "public",
              "confidential"
            ],
            "description": "OAuth client type"
          },
          "require_pkce": {
            "type": "boolean",
            "description": "Whether PKCE (Proof Key for Code Exchange) is required for this client"
          },
          "allowed_grant_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "client_credentials",
                "authorization_code",
                "refresh_token"
              ]
            },
            "description": "List of allowed OAuth grant types"
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "List of allowed redirect URIs"
          },
          "logo_uri": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "URL of the client logo"
          },
          "tos_uri": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "URL of the client's terms of service"
          },
          "policy_uri": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "URL of the client's privacy policy"
          },
          "client_secret": {
            "type": [
              "string",
              "null"
            ],
            "description": "Client secret (only included when available, for confidential clients)"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the client was created"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the client was last updated"
          }
        },
        "required": [
          "record_type",
          "client_id",
          "name",
          "org_id",
          "user_id",
          "client_type",
          "require_pkce",
          "created_at",
          "updated_at"
        ]
      },
      "OAuthClientCreateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the OAuth client",
            "example": "My OAuth client"
          },
          "allowed_scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of allowed OAuth scopes",
            "example": [
              "admin"
            ]
          },
          "client_type": {
            "type": "string",
            "enum": [
              "public",
              "confidential"
            ],
            "description": "OAuth client type"
          },
          "require_pkce": {
            "type": "boolean",
            "description": "Whether PKCE (Proof Key for Code Exchange) is required for this client",
            "default": false
          },
          "allowed_grant_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "client_credentials",
                "authorization_code",
                "refresh_token"
              ]
            },
            "description": "List of allowed OAuth grant types"
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "List of redirect URIs (required for authorization_code flow)",
            "default": []
          },
          "logo_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client logo"
          },
          "policy_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's privacy policy"
          },
          "tos_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's terms of service"
          }
        },
        "required": [
          "name",
          "allowed_scopes",
          "client_type",
          "allowed_grant_types"
        ],
        "additionalProperties": false
      },
      "OAuthClientUpdateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the OAuth client"
          },
          "allowed_scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of allowed OAuth scopes",
            "example": [
              "admin"
            ]
          },
          "require_pkce": {
            "type": "boolean",
            "description": "Whether PKCE (Proof Key for Code Exchange) is required for this client"
          },
          "allowed_grant_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "client_credentials",
                "authorization_code",
                "refresh_token"
              ]
            },
            "description": "List of allowed OAuth grant types"
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "List of redirect URIs"
          },
          "logo_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client logo"
          },
          "policy_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's privacy policy"
          },
          "tos_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's terms of service"
          }
        },
        "additionalProperties": false
      },
      "OAuthDynamicRegistrationRequest": {
        "type": "object",
        "properties": {
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "Array of redirection URI strings for use in redirect-based flows",
            "example": [
              "https://example.com/callback"
            ]
          },
          "client_name": {
            "type": "string",
            "description": "Human-readable string name of the client to be presented to the end-user",
            "example": "My OAuth Application"
          },
          "grant_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "authorization_code",
                "client_credentials",
                "refresh_token"
              ]
            },
            "description": "Array of OAuth 2.0 grant type strings that the client may use",
            "default": [
              "authorization_code"
            ]
          },
          "response_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of the OAuth 2.0 response type strings that the client may use",
            "default": [
              "code"
            ]
          },
          "scope": {
            "type": "string",
            "description": "Space-separated string of scope values that the client may use",
            "example": "admin"
          },
          "token_endpoint_auth_method": {
            "type": "string",
            "enum": [
              "none",
              "client_secret_basic",
              "client_secret_post"
            ],
            "description": "Authentication method for the token endpoint",
            "default": "client_secret_basic"
          },
          "logo_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client logo"
          },
          "tos_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's terms of service"
          },
          "policy_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's privacy policy"
          }
        },
        "additionalProperties": false
      },
      "OAuthDynamicRegistrationResponse": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "description": "Unique client identifier",
            "example": "abc123def456"
          },
          "client_secret": {
            "type": "string",
            "description": "Client secret (only for confidential clients)"
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "Array of redirection URIs"
          },
          "client_name": {
            "type": "string",
            "description": "Human-readable client name"
          },
          "grant_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of allowed grant types"
          },
          "response_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of allowed response types"
          },
          "scope": {
            "type": "string",
            "description": "Space-separated scope values"
          },
          "token_endpoint_auth_method": {
            "type": "string",
            "description": "Token endpoint authentication method"
          },
          "client_id_issued_at": {
            "type": "integer",
            "description": "Unix timestamp of when the client ID was issued"
          },
          "logo_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client logo"
          },
          "tos_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's terms of service"
          },
          "policy_uri": {
            "type": "string",
            "format": "uri",
            "description": "URL of the client's privacy policy"
          }
        },
        "required": [
          "client_id",
          "client_id_issued_at"
        ]
      },
      "OAuthGrant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the OAuth grant"
          },
          "record_type": {
            "type": "string",
            "enum": [
              "oauth_grant"
            ],
            "description": "Record type identifier"
          },
          "client_id": {
            "type": "string",
            "description": "OAuth client identifier"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of granted OAuth scopes"
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the grant was last used"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the grant was created"
          }
        },
        "required": [
          "id",
          "record_type",
          "client_id",
          "scopes",
          "created_at"
        ]
      },
      "Observability": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ObservabilityStatus",
            "default": "disabled"
          },
          "secret_key_ref": {
            "title": "Secret Key Ref",
            "type": "string"
          },
          "public_key_ref": {
            "title": "Public Key Ref",
            "type": "string"
          },
          "host": {
            "title": "Host",
            "type": "string"
          },
          "prompt_name": {
            "title": "Prompt Name",
            "type": "string"
          },
          "prompt_version": {
            "title": "Prompt Version",
            "type": "integer",
            "minimum": 1
          },
          "prompt_label": {
            "title": "Prompt Label",
            "type": "string"
          },
          "prompt_sync": {
            "$ref": "#/components/schemas/PromptSyncStatus",
            "default": "disabled"
          }
        },
        "type": "object",
        "title": "Observability"
      },
      "ObservabilityReq": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ObservabilityStatus",
            "default": "disabled"
          },
          "secret_key_ref": {
            "title": "Secret Key Ref",
            "type": "string"
          },
          "public_key_ref": {
            "title": "Public Key Ref",
            "type": "string"
          },
          "host": {
            "title": "Host",
            "type": "string"
          },
          "prompt_name": {
            "title": "Prompt Name",
            "type": "string"
          },
          "prompt_version": {
            "title": "Prompt Version",
            "type": "integer",
            "minimum": 1
          },
          "prompt_label": {
            "title": "Prompt Label",
            "type": "string"
          },
          "prompt_sync": {
            "$ref": "#/components/schemas/PromptSyncStatus",
            "default": "disabled"
          }
        },
        "type": "object",
        "title": "ObservabilityReq"
      },
      "ObservabilityStatus": {
        "type": "string",
        "enum": [
          "enabled",
          "disabled"
        ],
        "title": "ObservabilityStatus"
      },
      "OpenAIEmbeddingData": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "default": "embedding",
            "description": "The object type, always 'embedding'"
          },
          "embedding": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "The embedding vector"
          },
          "index": {
            "type": "integer",
            "description": "The index of the embedding in the list of embeddings"
          }
        },
        "required": [
          "object",
          "embedding",
          "index"
        ],
        "title": "OpenAIEmbeddingData"
      },
      "OpenAIEmbeddingModelMetadata": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The model identifier",
            "example": "thenlper/gte-large"
          },
          "object": {
            "type": "string",
            "default": "model",
            "description": "The object type, always 'model'"
          },
          "created": {
            "type": "integer",
            "description": "Unix timestamp of when the model was created"
          },
          "owned_by": {
            "type": "string",
            "description": "The organization that owns the model",
            "example": "telnyx"
          }
        },
        "required": [
          "id",
          "object",
          "created",
          "owned_by"
        ],
        "title": "OpenAIEmbeddingModelMetadata"
      },
      "OpenAIEmbeddingModelsResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "default": "list",
            "description": "The object type, always 'list'"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpenAIEmbeddingModelMetadata"
            },
            "description": "List of available embedding models"
          }
        },
        "required": [
          "object",
          "data"
        ],
        "title": "OpenAIEmbeddingModelsResponse"
      },
      "OpenAIEmbeddingRequest": {
        "type": "object",
        "properties": {
          "input": {
            "oneOf": [
              {
                "type": "string",
                "description": "A single text string to embed"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "An array of text strings to embed"
              }
            ],
            "description": "Input text to embed. Can be a string or array of strings."
          },
          "model": {
            "type": "string",
            "description": "ID of the model to use. Use the List embedding models endpoint to see available models.",
            "example": "thenlper/gte-large"
          },
          "encoding_format": {
            "type": "string",
            "enum": [
              "float",
              "base64"
            ],
            "default": "float",
            "description": "The format to return the embeddings in."
          },
          "dimensions": {
            "type": "integer",
            "description": "The number of dimensions the resulting output embeddings should have. Only supported in some models."
          },
          "user": {
            "type": "string",
            "description": "A unique identifier representing your end-user for monitoring and abuse detection."
          }
        },
        "required": [
          "input",
          "model"
        ],
        "title": "OpenAIEmbeddingRequest"
      },
      "OpenAIEmbeddingResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "default": "list",
            "description": "The object type, always 'list'"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpenAIEmbeddingData"
            },
            "description": "List of embedding objects"
          },
          "model": {
            "type": "string",
            "description": "The model used for embedding"
          },
          "usage": {
            "$ref": "#/components/schemas/OpenAIEmbeddingUsage"
          }
        },
        "required": [
          "object",
          "data",
          "model",
          "usage"
        ],
        "title": "OpenAIEmbeddingResponse"
      },
      "OpenAIEmbeddingUsage": {
        "type": "object",
        "properties": {
          "prompt_tokens": {
            "type": "integer",
            "description": "Number of tokens in the input"
          },
          "total_tokens": {
            "type": "integer",
            "description": "Total number of tokens used"
          }
        },
        "required": [
          "prompt_tokens",
          "total_tokens"
        ],
        "title": "OpenAIEmbeddingUsage"
      },
      "Operator": {
        "type": "string",
        "enum": [
          "in",
          "not_in",
          "starts_with"
        ],
        "title": "Operator"
      },
      "OptOutItem": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
            "x-format": "address"
          },
          "to": {
            "$ref": "#/components/schemas/ToNumber"
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unique identifier for a messaging profile."
          },
          "keyword": {
            "type": [
              "string",
              "null"
            ],
            "description": "The keyword that triggered the opt-out.",
            "example": "STOP"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the opt-out was created",
            "example": "2025-04-28 12:00:38.631252+00:00"
          }
        }
      },
      "OptOutListResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptOutItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/messaging_PaginationMeta"
          }
        }
      },
      "OrderExternalVetting": {
        "title": "OrderExternalVetting",
        "required": [
          "evpId",
          "vettingClass"
        ],
        "type": "object",
        "properties": {
          "evpId": {
            "title": "Evpid",
            "maxLength": 10,
            "type": "string",
            "description": "External vetting provider ID for the brand."
          },
          "vettingClass": {
            "title": "Vettingclass",
            "type": "string",
            "description": "Identifies the vetting classification."
          }
        }
      },
      "OrganizationContact": {
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "email",
          "job_title",
          "phone"
        ],
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 255,
            "description": "Contact's first name",
            "example": "Jane"
          },
          "last_name": {
            "type": "string",
            "maxLength": 255,
            "description": "Contact's last name",
            "example": "Smith"
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 255,
            "description": "Contact's email address",
            "example": "jane.smith@acme.com"
          },
          "job_title": {
            "type": "string",
            "maxLength": 255,
            "description": "Contact's job title (required)",
            "example": "VP of Engineering"
          },
          "phone": {
            "type": "string",
            "maxLength": 20,
            "description": "Contact's phone number in E.164 format",
            "example": "+16035551234"
          }
        },
        "description": "Organization contact information. Note: the response returns this object with the phone field as 'phone' (not 'phone_number')."
      },
      "OrganizationUser": {
        "type": "object",
        "title": "OrganizationUser",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the specific resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource. Can be 'organization_owner' or 'organization_sub_user'.",
            "example": "organization_sub_user"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The email address of the user.",
            "example": "user@example.com"
          },
          "user_status": {
            "description": "The status of the account.",
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "blocked"
            ],
            "default": "enabled",
            "example": "enabled"
          },
          "organization_user_bypasses_sso": {
            "type": "boolean",
            "description": "Indicates whether this user is allowed to bypass SSO and use password authentication.",
            "example": false
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "last_sign_in_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO 8601 formatted date indicating when the resource last signed into the portal. Null if the user has never signed in.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "groups": {
            "type": "array",
            "description": "The groups the user belongs to. Only included when include_groups parameter is true.",
            "items": {
              "$ref": "#/components/schemas/UserGroupReference"
            }
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "organization_sub_user",
          "email": "user@example.com",
          "user_status": "enabled",
          "organization_user_bypasses_sso": false,
          "created_at": "2018-02-02T22:25:27.521Z",
          "last_sign_in_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "OrganizationUserWithGroups": {
        "type": "object",
        "title": "OrganizationUserWithGroups",
        "description": "An organization user with their group memberships always included.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the specific resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource. Can be 'organization_owner' or 'organization_sub_user'.",
            "example": "organization_sub_user"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The email address of the user.",
            "example": "user@example.com"
          },
          "user_status": {
            "description": "The status of the account.",
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "blocked"
            ],
            "default": "enabled",
            "example": "enabled"
          },
          "organization_user_bypasses_sso": {
            "type": "boolean",
            "description": "Indicates whether this user is allowed to bypass SSO and use password authentication.",
            "example": false
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "last_sign_in_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO 8601 formatted date indicating when the resource last signed into the portal. Null if the user has never signed in.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "groups": {
            "type": "array",
            "description": "The groups the user belongs to.",
            "items": {
              "$ref": "#/components/schemas/UserGroupReference"
            }
          }
        },
        "required": [
          "id",
          "record_type",
          "email",
          "user_status",
          "created_at",
          "groups"
        ],
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "organization_sub_user",
          "email": "user@example.com",
          "user_status": "enabled",
          "organization_user_bypasses_sso": false,
          "created_at": "2018-02-02T22:25:27.521Z",
          "last_sign_in_at": "2018-02-02T22:25:27.521Z",
          "groups": [
            {
              "id": "7b09cdc3-8948-47f0-aa62-74ac943d6c59",
              "name": "Engineering"
            }
          ]
        }
      },
      "OriginalMediaUrl": {
        "description": "The original URL to the PDF used for the fax's media. If media_name was supplied, this is omitted",
        "type": "string",
        "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
      },
      "OutboundCallRecording": {
        "type": "object",
        "example": {
          "call_recording_type": "by_caller_phone_number",
          "call_recording_caller_phone_numbers": [
            "+19705555098"
          ],
          "call_recording_channels": "dual",
          "call_recording_format": "mp3"
        },
        "properties": {
          "call_recording_type": {
            "type": "string",
            "description": "Specifies which calls are recorded.",
            "enum": [
              "all",
              "none",
              "by_caller_phone_number"
            ]
          },
          "call_recording_caller_phone_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "When call_recording_type is 'by_caller_phone_number', only outbound calls using one of these numbers will be recorded. Numbers must be specified in E164 format.",
            "example": [
              "+19705555098"
            ]
          },
          "call_recording_channels": {
            "type": "string",
            "description": "When using 'dual' channels, the final audio file will be a stereo recording with the first leg on channel A, and the rest on channel B.",
            "example": "dual",
            "default": "single",
            "enum": [
              "single",
              "dual"
            ]
          },
          "call_recording_format": {
            "type": "string",
            "description": "The audio file format for calls being recorded.",
            "example": "mp3",
            "default": "wav",
            "enum": [
              "wav",
              "mp3"
            ]
          }
        }
      },
      "OutboundFqdn": {
        "type": "object",
        "title": "Connection Outbound Settings",
        "properties": {
          "ani_override": {
            "title": "ANI override type",
            "type": "string",
            "description": "Set a phone number as the ani_override value to override caller id number on outbound calls.",
            "x-format": "E.164"
          },
          "ani_override_type": {
            "title": "ANI override type",
            "type": "string",
            "description": "Specifies when we should apply your ani_override setting. Only applies when ani_override is not blank.",
            "enum": [
              "always",
              "normal",
              "emergency"
            ],
            "default": "always",
            "example": "normal"
          },
          "call_parking_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Forces all SIP calls originated on this connection to be \\\"parked\\\" instead of \\\"bridged\\\" to the destination specified on the URI. Parked calls will return ringback to the caller and will await for a Call Control command to define which action will be taken next."
          },
          "channel_limit": {
            "type": "integer",
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "instant_ringback_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, ringback will not wait for indication before sending ringback tone to calling party."
          },
          "ip_authentication_method": {
            "type": "string",
            "example": "credential-authentication",
            "default": "ip-authentication",
            "enum": [
              "credential-authentication",
              "ip-authentication"
            ]
          },
          "ip_authentication_token": {
            "type": "string"
          },
          "localization": {
            "type": "string",
            "default": "US",
            "description": "A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default.\",",
            "example": "US"
          },
          "outbound_voice_profile_id": {
            "$ref": "#/components/schemas/connections_OutboundVoiceProfileId"
          },
          "t38_reinvite_source": {
            "type": "string",
            "enum": [
              "telnyx",
              "customer",
              "disabled",
              "passthru",
              "caller-passthru",
              "callee-passthru"
            ],
            "description": "This setting only affects connections with Fax-type Outbound Voice Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite. By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.",
            "default": "customer"
          },
          "tech_prefix": {
            "type": "string",
            "description": "Numerical chars only, exactly 4 characters."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "minimum": 1,
            "maximum": 600,
            "default": 90
          }
        }
      },
      "OutboundIp": {
        "type": "object",
        "title": "Outbound Ip",
        "properties": {
          "call_parking_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Forces all SIP calls originated on this connection to be \"parked\" instead of \"bridged\" to the destination specified on the URI. Parked calls will return ringback to the caller and will await for a Call Control command to define which action will be taken next."
          },
          "ani_override": {
            "type": "string",
            "description": "Set a phone number as the ani_override value to override caller id number on outbound calls.",
            "default": ""
          },
          "ani_override_type": {
            "type": "string",
            "enum": [
              "always",
              "normal",
              "emergency"
            ],
            "description": "Specifies when we apply your ani_override setting. Only applies when ani_override is not blank.",
            "default": "always"
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection."
          },
          "instant_ringback_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When set, ringback will not wait for indication before sending ringback tone to calling party."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "localization": {
            "type": "string",
            "default": null,
            "description": "A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default."
          },
          "t38_reinvite_source": {
            "type": "string",
            "enum": [
              "telnyx",
              "customer",
              "disabled",
              "passthru",
              "caller-passthru",
              "callee-passthru"
            ],
            "description": "This setting only affects connections with Fax-type Outbound Voice Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.",
            "default": "customer"
          },
          "tech_prefix": {
            "type": "string",
            "description": "Numerical chars only, exactly 4 characters.",
            "default": ""
          },
          "ip_authentication_method": {
            "type": "string",
            "default": "tech-prefixp-charge-info",
            "example": "tech-prefixp-charge-info",
            "enum": [
              "tech-prefixp-charge-info",
              "token"
            ]
          },
          "ip_authentication_token": {
            "type": "string",
            "default": null
          },
          "outbound_voice_profile_id": {
            "$ref": "#/components/schemas/connections_OutboundVoiceProfileId"
          }
        },
        "example": {
          "call_parking_enabled": true,
          "ani_override": "string",
          "ani_override_type": "always",
          "channel_limit": 10,
          "instant_ringback_enabled": true,
          "generate_ringback_tone": true,
          "localization": "string",
          "t38_reinvite_source": "customer",
          "tech_prefix": "string",
          "ip_authentication_method": "token",
          "ip_authentication_token": "string",
          "outbound_voice_profile_id": "1293384261075731499"
        }
      },
      "OutboundMessage": {
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "event_type": {
            "type": "string",
            "example": "message.sent",
            "enum": [
              "message.sent",
              "message.finalized"
            ],
            "description": "The type of event being delivered."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created."
          },
          "payload": {
            "$ref": "#/components/schemas/OutboundMessagePayload"
          }
        },
        "example": {
          "record_type": "event",
          "id": "86f58db9-0fe3-4adc-9d1f-46e66e6e9323",
          "event_type": "message.sent",
          "occurred_at": "2019-01-23T18:10:02.574Z",
          "payload": {
            "record_type": "message",
            "direction": "outbound",
            "id": "40385f64-5717-4562-b3fc-2c963f66afa6",
            "type": "MMS",
            "messaging_profile_id": "4000eba1-a0c0-4563-9925-b25e842a7cb6",
            "organization_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
            "from": {
              "phone_number": "+18445550001",
              "carrier": "TELNYX LLC",
              "line_type": "VoIP"
            },
            "to": [
              {
                "phone_number": "+18665550001",
                "status": "queued",
                "carrier": "T-MOBILE USA, INC.",
                "line_type": "Wireless"
              }
            ],
            "cc": [],
            "text": "Hello, World!",
            "subject": "From Telnyx!",
            "media": [
              {
                "url": "https://pbs.twimg.com/profile_images/1142168442042118144/AW3F4fFD_400x400.png",
                "content_type": null,
                "sha256": null,
                "size": null
              }
            ],
            "webhook_url": "https://www.example.com/hooks",
            "webhook_failover_url": "https://backup.example.com/hooks",
            "encoding": "GSM-7",
            "parts": 1,
            "tags": [
              "Greetings"
            ],
            "cost": {
              "amount": "0.0051",
              "currency": "USD"
            },
            "cost_breakdown": {
              "carrier_fee": {
                "amount": "0.00305",
                "currency": "USD"
              },
              "rate": {
                "amount": "0.00205",
                "currency": "USD"
              }
            },
            "tcr_campaign_id": "TCPA3X7",
            "tcr_campaign_billable": true,
            "tcr_campaign_registered": "REGISTERED",
            "received_at": "2019-01-23T18:10:02.574Z",
            "sent_at": null,
            "completed_at": null,
            "valid_until": null,
            "errors": []
          }
        }
      },
      "OutboundMessageEvent": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/OutboundMessage"
          },
          "meta": {
            "type": "object",
            "properties": {
              "attempt": {
                "type": "integer",
                "example": 1,
                "description": "Number of attempts to deliver the webhook event."
              },
              "delivered_to": {
                "type": "string",
                "format": "url",
                "example": "https://www.example.com/hooks",
                "description": "The webhook URL the event was delivered to."
              }
            }
          }
        }
      },
      "OutboundMessagePayload": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "message",
            "enum": [
              "message"
            ],
            "description": "Identifies the type of the resource."
          },
          "direction": {
            "type": "string",
            "example": "outbound",
            "enum": [
              "outbound"
            ],
            "description": "The direction of the message. Inbound messages are sent to you whereas outbound messages are sent from you."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "type": {
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ],
            "description": "The type of message."
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "organization_id": {
            "type": "string",
            "format": "uuid",
            "description": "The id of the organization the messaging profile belongs to."
          },
          "from": {
            "type": "object",
            "properties": {
              "phone_number": {
                "type": "string",
                "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
                "x-format": "address"
              },
              "carrier": {
                "type": "string",
                "description": "The carrier of the receiver."
              },
              "line_type": {
                "type": "string",
                "description": "The line-type of the receiver.",
                "enum": [
                  "Wireline",
                  "Wireless",
                  "VoWiFi",
                  "VoIP",
                  "Pre-Paid Wireless",
                  ""
                ]
              }
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "description": "The delivery status of the message.",
                  "enum": [
                    "queued",
                    "sending",
                    "sent",
                    "expired",
                    "sending_failed",
                    "delivery_unconfirmed",
                    "delivered",
                    "delivery_failed"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "sending",
                    "sent",
                    "delivered",
                    "sending_failed",
                    "delivery_failed",
                    "delivery_unconfirmed"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ],
            "description": "Subject of multimedia message"
          },
          "media": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "url",
                  "description": "The url of the media requested to be sent."
                },
                "content_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-format": "mime-type",
                  "description": "The MIME type of the requested media."
                },
                "sha256": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The SHA256 hash of the requested media."
                },
                "size": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "The size of the requested media."
                }
              }
            }
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The URL where webhooks related to this message will be sent."
          },
          "webhook_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails."
          },
          "encoding": {
            "type": "string",
            "description": "Encoding scheme used for the message body."
          },
          "parts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Number of parts into which the message's body must be split."
          },
          "tags": {
            "type": "array",
            "description": "Tags associated with the resource.",
            "items": {
              "type": "string"
            }
          },
          "cost": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "type": "string",
                "description": "The amount deducted from your account.",
                "x-format": "decimal"
              },
              "currency": {
                "type": "string",
                "description": "The ISO 4217 currency identifier.",
                "x-format": "iso4217"
              }
            }
          },
          "cost_breakdown": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "carrier_fee": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The carrier fee amount.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              },
              "rate": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The rate amount applied.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              }
            },
            "description": "Detailed breakdown of the message cost components."
          },
          "tcr_campaign_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Campaign Registry (TCR) campaign ID associated with the message."
          },
          "tcr_campaign_billable": {
            "type": "boolean",
            "description": "Indicates whether the TCR campaign is billable."
          },
          "tcr_campaign_registered": {
            "type": [
              "string",
              "null"
            ],
            "description": "The registration status of the TCR campaign.",
            "example": "REGISTERED"
          },
          "received_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message request was received."
          },
          "sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message was sent."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message was finalized."
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ],
            "description": "Message must be out of the queue by this time or else it will be discarded and marked as 'sending_failed'. Once the message moves out of the queue, this field will be nulled",
            "format": "date-time"
          },
          "errors": {
            "type": "array",
            "description": "These errors may point at addressees when referring to unsuccessful/unconfirmed delivery statuses.",
            "items": {
              "$ref": "#/components/schemas/messaging_Error"
            }
          },
          "smart_encoding_applied": {
            "type": "boolean",
            "description": "Indicates whether smart encoding was applied to this message. When `true`, one or more Unicode characters were automatically replaced with GSM-7 equivalents to reduce segment count and cost. The original message text is preserved in webhooks."
          },
          "wait_seconds": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "description": "Seconds the message is queued due to rate limiting before being sent to the carrier. Represents the maximum wait across all applicable rate limits (account, carrier, campaign). 0.0 = no queuing delay.",
            "example": 0.5
          }
        },
        "example": {
          "record_type": "message",
          "direction": "outbound",
          "id": "40385f64-5717-4562-b3fc-2c963f66afa6",
          "type": "MMS",
          "messaging_profile_id": "4000eba1-a0c0-4563-9925-b25e842a7cb6",
          "organization_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
          "from": {
            "phone_number": "+18445550001",
            "carrier": "TELNYX LLC",
            "line_type": "VoIP"
          },
          "to": [
            {
              "phone_number": "+18665550001",
              "status": "queued",
              "carrier": "T-MOBILE USA, INC.",
              "line_type": "Wireless"
            }
          ],
          "cc": [],
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media": [
            {
              "url": "https://pbs.twimg.com/profile_images/1142168442042118144/AW3F4fFD_400x400.png",
              "content_type": null,
              "sha256": null,
              "size": null
            }
          ],
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "encoding": "GSM-7",
          "parts": 1,
          "tags": [
            "Greetings"
          ],
          "cost": {
            "amount": "0.0051",
            "currency": "USD"
          },
          "cost_breakdown": {
            "carrier_fee": {
              "amount": "0.00305",
              "currency": "USD"
            },
            "rate": {
              "amount": "0.00205",
              "currency": "USD"
            }
          },
          "tcr_campaign_id": "TCPA3X7",
          "tcr_campaign_billable": true,
          "tcr_campaign_registered": "REGISTERED",
          "received_at": "2019-01-23T18:10:02.574Z",
          "sent_at": null,
          "completed_at": null,
          "valid_until": null,
          "errors": [],
          "wait_seconds": 0.5
        }
      },
      "OutboundMessagePayloadCancelled": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "message",
            "enum": [
              "message"
            ],
            "description": "Identifies the type of the resource."
          },
          "direction": {
            "type": "string",
            "example": "outbound",
            "enum": [
              "outbound"
            ],
            "description": "The direction of the message. Inbound messages are sent to you whereas outbound messages are sent from you."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource."
          },
          "type": {
            "type": "string",
            "enum": [
              "SMS",
              "MMS"
            ],
            "description": "The type of message."
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "organization_id": {
            "type": "string",
            "format": "uuid",
            "description": "The id of the organization the messaging profile belongs to."
          },
          "from": {
            "type": "object",
            "properties": {
              "phone_number": {
                "type": "string",
                "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
                "x-format": "address"
              },
              "carrier": {
                "type": "string",
                "description": "The carrier of the receiver."
              },
              "line_type": {
                "type": "string",
                "description": "The line-type of the receiver.",
                "enum": [
                  "Wireline",
                  "Wireless",
                  "VoWiFi",
                  "VoIP",
                  "Pre-Paid Wireless",
                  ""
                ]
              }
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "description": "The delivery status of the message.",
                  "enum": [
                    "scheduled",
                    "queued",
                    "sending",
                    "sent",
                    "cancelled",
                    "expired",
                    "sending_failed",
                    "delivery_unconfirmed",
                    "delivered",
                    "delivery_failed"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "description": "Receiving address (+E.164 formatted phone number or short code).",
                  "x-format": "address"
                },
                "status": {
                  "type": "string",
                  "description": "The delivery status of the message.",
                  "enum": [
                    "scheduled",
                    "queued",
                    "sending",
                    "sent",
                    "cancelled",
                    "expired",
                    "sending_failed",
                    "delivery_unconfirmed",
                    "delivered",
                    "delivery_failed"
                  ]
                },
                "carrier": {
                  "type": "string",
                  "description": "The carrier of the receiver."
                },
                "line_type": {
                  "type": "string",
                  "description": "The line-type of the receiver.",
                  "enum": [
                    "Wireline",
                    "Wireless",
                    "VoWiFi",
                    "VoIP",
                    "Pre-Paid Wireless",
                    ""
                  ]
                }
              }
            }
          },
          "text": {
            "type": "string",
            "description": "Message body (i.e., content) as a non-empty string.\n\n**Required for SMS**"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ],
            "description": "Subject of multimedia message"
          },
          "media": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "url",
                  "description": "The url of the media requested to be sent."
                },
                "content_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-format": "mime-type",
                  "description": "The MIME type of the requested media."
                },
                "sha256": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The SHA256 hash of the requested media."
                },
                "size": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "The size of the requested media."
                }
              }
            }
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The URL where webhooks related to this message will be sent."
          },
          "webhook_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this message will be sent if sending to the primary URL fails."
          },
          "encoding": {
            "type": "string",
            "description": "Encoding scheme used for the message body."
          },
          "parts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Number of parts into which the message's body must be split."
          },
          "tags": {
            "type": "array",
            "description": "Tags associated with the resource.",
            "items": {
              "type": "string"
            }
          },
          "cost": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "amount": {
                "type": "string",
                "description": "The amount deducted from your account.",
                "x-format": "decimal"
              },
              "currency": {
                "type": "string",
                "description": "The ISO 4217 currency identifier.",
                "x-format": "iso4217"
              }
            }
          },
          "cost_breakdown": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "carrier_fee": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The carrier fee amount.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              },
              "rate": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "The rate amount applied.",
                    "x-format": "decimal"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The ISO 4217 currency identifier.",
                    "x-format": "iso4217"
                  }
                }
              }
            },
            "description": "Detailed breakdown of the message cost components."
          },
          "tcr_campaign_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Campaign Registry (TCR) campaign ID associated with the message."
          },
          "tcr_campaign_billable": {
            "type": "boolean",
            "description": "Indicates whether the TCR campaign is billable."
          },
          "tcr_campaign_registered": {
            "type": [
              "string",
              "null"
            ],
            "description": "The registration status of the TCR campaign.",
            "example": "REGISTERED"
          },
          "received_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message request was received."
          },
          "sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message was sent."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message was finalized."
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ],
            "description": "Message must be out of the queue by this time or else it will be discarded and marked as 'sending_failed'. Once the message moves out of the queue, this field will be nulled",
            "format": "date-time"
          },
          "errors": {
            "type": "array",
            "description": "These errors may point at addressees when referring to unsuccessful/unconfirmed delivery statuses.",
            "items": {
              "$ref": "#/components/schemas/messaging_Error"
            }
          },
          "smart_encoding_applied": {
            "type": "boolean",
            "description": "Indicates whether smart encoding was applied to this message. When `true`, one or more Unicode characters were automatically replaced with GSM-7 equivalents to reduce segment count and cost. The original message text is preserved in webhooks."
          }
        },
        "example": {
          "record_type": "message",
          "direction": "outbound",
          "id": "40385f64-5717-4562-b3fc-2c963f66afa6",
          "type": "SMS",
          "messaging_profile_id": "4000eba1-a0c0-4563-9925-b25e842a7cb6",
          "organization_id": "b448f9cc-a842-4784-98e9-03c1a5872950",
          "from": {
            "phone_number": "+18445550001",
            "carrier": "TELNYX LLC",
            "line_type": "VoIP"
          },
          "to": [
            {
              "phone_number": "+18665550001",
              "status": "cancelled",
              "carrier": "T-MOBILE USA, INC.",
              "line_type": "Wireless"
            }
          ],
          "cc": [],
          "text": "Hello, World!",
          "subject": "From Telnyx!",
          "media": [],
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "encoding": "GSM-7",
          "parts": 1,
          "tags": [
            "Greetings"
          ],
          "cost": {
            "amount": "0.0",
            "currency": "USD"
          },
          "cost_breakdown": null,
          "tcr_campaign_id": "TCPA3X7",
          "tcr_campaign_billable": true,
          "tcr_campaign_registered": "REGISTERED",
          "received_at": "2019-01-23T18:10:02.574Z",
          "sent_at": null,
          "completed_at": null,
          "valid_until": null,
          "errors": []
        }
      },
      "OutboundMessageResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/OutboundMessagePayload"
          }
        }
      },
      "OutboundVoiceProfile": {
        "type": "object",
        "title": "Outbound Voice Profile",
        "required": [
          "name"
        ],
        "example": {
          "id": "1293384261075731499",
          "record_type": "outbound_voice_profile",
          "name": "office",
          "connections_count": 12,
          "traffic_type": "conversational",
          "service_plan": "global",
          "concurrent_call_limit": 10,
          "enabled": true,
          "tags": [
            "office-profile"
          ],
          "usage_payment_method": "rate-deck",
          "whitelisted_destinations": [
            "US",
            "BR",
            "AU"
          ],
          "max_destination_rate": 10,
          "daily_spend_limit": "100.00",
          "daily_spend_limit_enabled": true,
          "call_recording": {
            "call_recording_type": "by_caller_phone_number",
            "call_recording_caller_phone_numbers": [
              "+19705555098"
            ],
            "call_recording_channels": "dual",
            "call_recording_format": "mp3"
          },
          "billing_group_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "calling_window": {
            "start_time": "08:00:00.00Z",
            "end_time": "20:00:00.00Z",
            "calls_per_cld": 5
          },
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "example": "1293384261075731499"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "outbound_voice_profile"
          },
          "name": {
            "type": "string",
            "description": "A user-supplied name to help with organization.",
            "example": "office",
            "minLength": 3
          },
          "connections_count": {
            "type": "integer",
            "description": "Amount of connections associated with this outbound voice profile.",
            "example": 12
          },
          "traffic_type": {
            "$ref": "#/components/schemas/TrafficType"
          },
          "service_plan": {
            "$ref": "#/components/schemas/ServicePlan"
          },
          "concurrent_call_limit": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Must be no more than your global concurrent call limit. Null means no limit.",
            "example": 10
          },
          "enabled": {
            "type": "boolean",
            "description": "Specifies whether the outbound voice profile can be used. Disabled profiles will result in outbound calls being blocked for the associated Connections.",
            "example": true,
            "default": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "office-profile"
            ]
          },
          "usage_payment_method": {
            "$ref": "#/components/schemas/UsagePaymentMethod"
          },
          "whitelisted_destinations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2.",
            "example": [
              "US",
              "BR",
              "AU"
            ],
            "default": [
              "US",
              "CA"
            ]
          },
          "max_destination_rate": {
            "type": "number",
            "description": "Maximum rate (price per minute) for a Destination to be allowed when making outbound calls."
          },
          "daily_spend_limit": {
            "type": "string",
            "description": "The maximum amount of usage charges, in USD, you want Telnyx to allow on this outbound voice profile in a day before disallowing new calls.",
            "example": "100.00"
          },
          "daily_spend_limit_enabled": {
            "type": "boolean",
            "description": "Specifies whether to enforce the daily_spend_limit on this outbound voice profile.",
            "example": true,
            "default": false
          },
          "call_recording": {
            "$ref": "#/components/schemas/OutboundCallRecording"
          },
          "billing_group_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "The ID of the billing group associated with the outbound proflile. Defaults to null (for no group assigned).",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "default": null
          },
          "calling_window": {
            "type": "object",
            "description": "(BETA) Specifies the time window and call limits for calls made using this outbound voice profile. Note that all times are UTC in 24-hour clock time.",
            "example": {
              "start_time": "08:00:00.00Z",
              "end_time": "20:00:00.00Z",
              "calls_per_cld": 5
            },
            "properties": {
              "start_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are allowed to start.",
                "example": "08:00:00.00Z"
              },
              "end_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no longer allowed to start.",
                "example": "20:00:00.00Z"
              },
              "calls_per_cld": {
                "type": "integer",
                "description": "(BETA) The maximum number of calls that can be initiated to a single called party (CLD) within the calling window. A null value means no limit.",
                "example": 5
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "OutboundVoiceProfileId": {
        "title": "Outbound Voice Profile ID",
        "type": "string",
        "description": "Identifies the associated outbound voice profile.",
        "example": "1293384261075731499"
      },
      "PLMN": {
        "type": "object",
        "title": "Public land mobile network",
        "properties": {
          "code": {
            "type": "string",
            "description": "Public land mobile network code (MCC + MNC).",
            "example": "311210"
          },
          "name": {
            "type": "string",
            "description": "The name of the network.",
            "example": "Telnyx, LLC"
          }
        },
        "required": [
          "code",
          "name"
        ]
      },
      "PLMNCode": {
        "type": "string",
        "description": "Public land mobile network code (MCC + MNC).",
        "example": "311210"
      },
      "PWGAssignedResourcesSummary": {
        "type": "object",
        "description": "The summary of the resource that have been assigned to the Private Wireless Gateway.",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "The type of the resource assigned to the Private Wireless Gateway.",
            "example": "sim_card_group",
            "readOnly": true
          },
          "count": {
            "type": "integer",
            "description": "The current count of a resource type assigned to the Private Wireless Gateway.",
            "example": 1,
            "readOnly": true
          }
        }
      },
      "PaginatedAssistantTestList": {
        "properties": {
          "meta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Meta"
              }
            ],
            "description": "Pagination metadata including total counts and current page info."
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/AssistantTestResponse"
            },
            "type": "array",
            "title": "Data",
            "description": "Array of assistant test objects for the current page."
          }
        },
        "type": "object",
        "required": [
          "meta",
          "data"
        ],
        "title": "PaginatedAssistantTestList",
        "description": "Paginated list of assistant tests with metadata.\n\nReturns a subset of tests based on pagination parameters along with\nmetadata for implementing pagination controls in the UI."
      },
      "PaginatedBillingBundlesResponse": {
        "title": "PaginatedBillingBundlesResponse",
        "required": [
          "meta",
          "data"
        ],
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/PaginationResponse"
          },
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingBundleSummary"
            }
          }
        }
      },
      "PaginatedScheduledEventList": {
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "data": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ScheduledPhoneCallEventResponse"
                },
                {
                  "$ref": "#/components/schemas/ScheduledSmsEventResponse"
                }
              ]
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "meta",
          "data"
        ],
        "title": "PaginatedScheduledEventList"
      },
      "PaginatedTestRunList": {
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta",
            "description": "Pagination metadata including total counts and current page info."
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/TestRunResponse"
            },
            "type": "array",
            "title": "Data",
            "description": "Array of test run objects for the current page."
          }
        },
        "type": "object",
        "required": [
          "meta",
          "data"
        ],
        "title": "PaginatedTestRunList",
        "description": "Paginated list of test runs with metadata.\n\nReturns test run execution results with pagination support for\nhandling large numbers of test executions."
      },
      "PaginatedUserBundlesResponse": {
        "title": "PaginatedUserBundlesResponse",
        "required": [
          "meta",
          "data"
        ],
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/PaginationResponse"
          },
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserBundle"
            }
          }
        }
      },
      "Paginated_VerificationRequestStatus_": {
        "title": "Paginated[VerificationRequestStatus]",
        "type": "object",
        "required": [
          "records",
          "total_records"
        ],
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerificationRequestStatus"
            },
            "description": "The records yielded by this request",
            "default": []
          },
          "total_records": {
            "title": "Total Records",
            "type": "integer",
            "description": "The total amount of records for these query parameters",
            "default": 0
          }
        },
        "description": "A paginated response"
      },
      "Paginated_VerificationStatusHistoryEntry_": {
        "title": "Paginated[VerificationStatusHistoryEntry]",
        "type": "object",
        "required": [
          "records",
          "total_records"
        ],
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerificationStatusHistoryEntry"
            },
            "description": "The records yielded by this request",
            "default": []
          },
          "total_records": {
            "title": "Total Records",
            "type": "integer",
            "description": "The total amount of records for these query parameters",
            "default": 0
          }
        },
        "description": "A paginated response"
      },
      "PaginationData": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages.",
            "example": 5
          },
          "total_results": {
            "type": "integer",
            "description": "Total number of results.",
            "example": 100
          },
          "page_number": {
            "type": "integer",
            "description": "Selected page number.",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "description": "Records per single page",
            "example": 20
          }
        }
      },
      "PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "PaginationMetaSimple": {
        "type": "object",
        "properties": {
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          },
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          }
        }
      },
      "PaginationResponse": {
        "title": "PaginationResponse",
        "required": [
          "total_results",
          "total_pages",
          "page_number",
          "page_size"
        ],
        "type": "object",
        "properties": {
          "total_results": {
            "title": "Total Results",
            "type": "integer",
            "example": 55,
            "description": "Total number of results returned."
          },
          "total_pages": {
            "title": "Total Pages",
            "type": "integer",
            "example": 3,
            "description": "Total number of pages from the results."
          },
          "page_number": {
            "title": "Page Number",
            "type": "integer",
            "example": 2,
            "description": "The current page number."
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer",
            "example": 25,
            "description": "The number of results per page."
          }
        }
      },
      "ParentRelationshipInfo": {
        "type": "object",
        "required": [
          "relationship_type",
          "via",
          "cost_rollup",
          "traversal_enabled",
          "description",
          "parent_product",
          "parent_event",
          "parent_record_type"
        ],
        "properties": {
          "relationship_type": {
            "type": "string"
          },
          "via": {
            "$ref": "#/components/schemas/MetadataFieldMapping"
          },
          "cost_rollup": {
            "type": "boolean"
          },
          "traversal_enabled": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "parent_product": {
            "type": "string"
          },
          "parent_event": {
            "type": "string"
          },
          "parent_record_type": {
            "type": "string"
          }
        }
      },
      "Participant": {
        "type": "object",
        "title": "Participant",
        "required": [
          "record_type",
          "id",
          "call_leg_id",
          "call_control_id",
          "conference",
          "whisper_call_control_ids",
          "created_at",
          "updated_at",
          "end_conference_on_exit",
          "soft_end_conference_on_exit",
          "status",
          "muted",
          "on_hold"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "participant"
            ],
            "example": "participant"
          },
          "id": {
            "type": "string",
            "description": "Uniquely identifies the participant",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "call_leg_id": {
            "type": "string",
            "description": "Uniquely identifies the call leg associated with the participant",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "call_control_id": {
            "type": "string",
            "description": "Call Control ID associated with the partiipant of the conference",
            "example": "v2:v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ"
          },
          "conference": {
            "type": "object",
            "description": "Info about the conference that the participant is in",
            "properties": {
              "id": {
                "type": "string",
                "description": "Uniquely identifies the conference",
                "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
              },
              "name": {
                "type": "string",
                "description": "Name of the conference",
                "example": "All hands meeting"
              }
            }
          },
          "whisper_call_control_ids": {
            "description": "Array of unique call_control_ids the participant can whisper to..",
            "example": [
              "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
              "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the participant was created",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the participant was last updated",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "end_conference_on_exit": {
            "type": "boolean",
            "description": "Whether the conference will end and all remaining participants be hung up after the participant leaves the conference.",
            "example": true
          },
          "soft_end_conference_on_exit": {
            "type": "boolean",
            "description": "Whether the conference will end after the participant leaves the conference.",
            "example": true
          },
          "status": {
            "type": "string",
            "enum": [
              "joining",
              "joined",
              "left"
            ],
            "description": "The status of the participant with respect to the lifecycle within the conference",
            "example": "joining"
          },
          "muted": {
            "type": "boolean",
            "description": "Whether the participant is muted.",
            "example": true
          },
          "on_hold": {
            "type": "boolean",
            "description": "Whether the participant is put on_hold.",
            "example": true
          }
        },
        "example": {
          "record_type": "participant",
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "end_conference_on_exit": true,
          "soft_end_conference_on_exit": true,
          "status": "joining",
          "muted": false,
          "on_hold": true,
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "whisper_call_control_ids": [
            "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
            "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
          ],
          "id": "dfadada7-af74-47bc-83a4-554275f55f5c",
          "call_leg_id": "3a15df2d-c801-4729-adf5-b56dd42e2abb",
          "conference": {
            "id": "41b9acd4-f4da-4ff5-a85c-e07e90b53f46",
            "name": "1"
          }
        }
      },
      "ParticipantResource": {
        "type": "object",
        "title": "Participant resource",
        "example": {
          "account_sid": "4e71926f-8f13-450e-b91c-23c2ef786aa6",
          "api_version": "v2/texml",
          "call_sid": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
          "call_sid_legacy": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
          "coaching": false,
          "conference_sid": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1",
          "date_created": "Fri, 27 Oct 2023 07:41:58 +0000",
          "date_updated": "Fri, 27 Oct 2023 07:41:58 +0000",
          "end_conference_on_exit": false,
          "hold": false,
          "muted": false,
          "status": "completed",
          "uri": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ.json"
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "api_version": {
            "type": "string",
            "description": "The version of the API that was used to make the request.",
            "example": "v2/texml"
          },
          "call_sid": {
            "type": "string",
            "description": "The identifier of this participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "call_sid_legacy": {
            "type": "string",
            "description": "The identifier of this participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "coaching": {
            "type": "boolean",
            "description": "Whether the participant is coaching another call.",
            "example": false
          },
          "coaching_call_sid": {
            "type": "string",
            "description": "The identifier of the coached participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "coaching_call_sid_legacy": {
            "type": "string",
            "description": "The identifier of the coached participant's call.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "date_created": {
            "type": "string",
            "description": "The timestamp of when the resource was created.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "date_updated": {
            "type": "string",
            "description": "The timestamp of when the resource was last updated.",
            "example": "Thu, 15 Jun 2023 09:56:45 +0000"
          },
          "end_conference_on_exit": {
            "type": "boolean",
            "description": "Whether the conference ends when the participant leaves.",
            "example": false
          },
          "hold": {
            "type": "boolean",
            "description": "Whether the participant is on hold.",
            "example": false
          },
          "muted": {
            "type": "boolean",
            "description": "Whether the participant is muted.",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "The status of the participant's call in the conference.",
            "enum": [
              "connecting",
              "connected",
              "completed"
            ],
            "example": "connected"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this participant.",
            "example": "/v2/texml/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Conferences/cd5a70f4-759b-4d5e-9c06-88c00f16f3c1/Participants/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ.json"
          },
          "conference_sid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the conference.",
            "example": "cd5a70f4-759b-4d5e-9c06-88c00f16f3c1"
          }
        }
      },
      "ParticipantResourceIndex": {
        "type": "object",
        "title": "Multiple participant resources",
        "example": {
          "participants": [],
          "end": 0,
          "first_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Participants.json?page=0&pagesize=20",
          "page": 0,
          "page_size": 20,
          "start": 0,
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Participants.json?page=0&pagesize=20"
        },
        "properties": {
          "participants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParticipantResource"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Participants.json?page=0&pagesize=20",
            "example": "accepted"
          },
          "next_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Participants.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
            "example": "accepted"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Conferences/6dc6cc1a-1ba1-4351-86b8-4c22c95cd98f/Participants.json?Page=0&PageSize=1"
          }
        }
      },
      "PatchRoomRequest": {
        "type": "object",
        "properties": {
          "unique_name": {
            "description": "The unique (within the Telnyx account scope) name of the room.",
            "type": "string",
            "example": "My room"
          },
          "max_participants": {
            "description": "The maximum amount of participants allowed in a room. If new participants try to join after that limit is reached, their request will be rejected.",
            "type": "integer",
            "example": 10,
            "default": 10,
            "minimum": 2,
            "maximum": 50
          },
          "enable_recording": {
            "description": "Enable or disable recording for that room.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this room will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": "string",
            "format": "uri",
            "description": "The failover URL where webhooks related to this room will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          }
        }
      },
      "PatchWabaSettingsRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier",
            "example": "America/New_York"
          },
          "webhook_url": {
            "type": "string",
            "format": "url",
            "description": "URL to send Whatsapp events"
          },
          "webhook_failover_url": {
            "type": "string",
            "format": "url",
            "description": "Failover URL to send Whatsapp events"
          },
          "webhook_enabled": {
            "type": "boolean",
            "description": "Enable/disable receiving Whatsapp events"
          },
          "webhook_events": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Whatsapp event to subscribe to"
            }
          }
        }
      },
      "PatchWhatsappUserDataRequest": {
        "type": "object",
        "properties": {
          "webhook_url": {
            "type": "string",
            "format": "url",
            "description": "URL to send Whatsapp signup events"
          },
          "webhook_failover_url": {
            "type": "string",
            "format": "url",
            "description": "Failover URL to send Whatsapp signup events"
          }
        }
      },
      "PauseConferenceRecordingRequest": {
        "type": "object",
        "title": "Pause Recording Request",
        "properties": {
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Use this field to pause specific recording.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        }
      },
      "PauseRecordingRequest": {
        "type": "object",
        "title": "Pause Recording Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Uniquely identifies the resource.",
            "type": "string",
            "format": "uuid",
            "example": "6e00ab49-9487-4364-8ad6-23965965afb2"
          }
        }
      },
      "PhoneNumber": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "number_order_phone_number",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "example": "+19705555098"
          },
          "country_iso_alpha2": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the phone number.",
            "example": "US",
            "readOnly": true
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubNumberOrderRegulatoryRequirementWithValue"
            }
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for a phone number, false otherwise.",
            "example": true,
            "readOnly": true
          },
          "requirements_status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "cancelled",
              "deleted",
              "requirement-info-exception",
              "requirement-info-pending",
              "requirement-info-under-review"
            ],
            "description": "Status of document requirements (if applicable)",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the phone number in the order.",
            "readOnly": true
          },
          "bundle_id": {
            "type": "string",
            "format": "uuid",
            "example": "bc8e4d67-33a0-4cbb-af74-7b58f05bd494",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "enum": [
              "local",
              "mobile",
              "national",
              "shared_cost",
              "toll_free"
            ],
            "description": "Phone number type",
            "readOnly": true
          },
          "country_code": {
            "type": "string",
            "example": "US",
            "description": "Country code of the phone number",
            "readOnly": true
          }
        },
        "example": {
          "id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "record_type": "number_order_phone_number",
          "phone_number": "+19705555098",
          "bundle_id": "bc8e4d67-33a0-4cbb-af74-7b58f05bd474",
          "regulatory_requirements": [
            {
              "record_type": "phone_number_regulatory_requirement",
              "requirement_id": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576",
              "field_value": "45f45a04-b4be-4592-95b1-9306b9db2b21",
              "field_type": "address"
            }
          ],
          "requirements_met": true,
          "status": "success"
        },
        "type": "object"
      },
      "PhoneNumberBlocksJob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "phone_number_block_job",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed"
            ],
            "default": "pending",
            "example": "pending",
            "description": "Indicates the completion status of the background operation.",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "enum": [
              "delete_phone_number_block"
            ],
            "example": "delete_phone_number_block",
            "description": "Identifies the type of the background job.",
            "readOnly": true
          },
          "etc": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the estimated time of completion of the background job.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "successful_operations": {
            "type": "array",
            "items": {
              "description": "The phone numbers successfully updated.",
              "$ref": "#/components/schemas/PhoneNumberBlocksJobSuccessfulOperation"
            },
            "readOnly": true
          },
          "failed_operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumberBlocksJobFailedOperation"
            },
            "readOnly": true
          }
        },
        "example": {
          "id": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
          "record_type": "phone_numbers_job",
          "status": "pending",
          "type": "delete_phone_number_block",
          "etc": "2020-10-30T18:10:00.000Z",
          "created_at": "2020-10-23T18:10:00.000Z",
          "updated_at": "2020-10-23T18:10:01.000Z",
          "successful_operations": [],
          "failed_operations": []
        }
      },
      "PhoneNumberBlocksJobDeletePhoneNumberBlockRequest": {
        "type": "object",
        "required": [
          "phone_number_block_id"
        ],
        "properties": {
          "phone_number_block_id": {
            "type": "string"
          }
        },
        "example": {
          "phone_number_block_id": "f3946371-7199-4261-9c3d-81a0d7935146"
        }
      },
      "PhoneNumberBlocksJobFailedOperation": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/numbers_Error"
            }
          }
        },
        "type": "object"
      },
      "PhoneNumberBlocksJobSuccessfulOperation": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          }
        },
        "type": "object"
      },
      "PhoneNumberBundleStatusChangeRequest": {
        "type": "object",
        "required": [
          "bundle_id"
        ],
        "properties": {
          "bundle_id": {
            "type": "string",
            "description": "The new bundle_id setting for the number. If you are assigning the number to a bundle, this is the unique ID of the bundle you wish to use. If you are removing the number from a bundle, this must be null. You cannot assign a number from one bundle to another directly. You must first remove it from a bundle, and then assign it to a new bundle."
          }
        },
        "example": {
          "bundle_id": "5194d8fc-87e6-4188-baa9-1c434bbe861b"
        }
      },
      "PhoneNumberCampaign": {
        "title": "PhoneNumberCampaign",
        "required": [
          "phoneNumber",
          "campaignId",
          "createdAt",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "phoneNumber": {
            "title": "Phonenumber",
            "type": "string",
            "example": "+18005550199"
          },
          "brandId": {
            "description": "Brand ID. Empty if the number is associated to a shared campaign.",
            "title": "BrandId",
            "type": "string",
            "example": "7ba705b7-22af-493f-addc-ac04b7ca071c"
          },
          "tcrBrandId": {
            "description": "TCR's alphanumeric ID for the brand.",
            "title": "TcrBrandId",
            "type": "string",
            "example": "BBRAND1"
          },
          "campaignId": {
            "description": "For shared campaigns, this is the TCR campaign ID, otherwise it is the campaign ID ",
            "title": "Campaignid",
            "type": "string"
          },
          "tcrCampaignId": {
            "description": "TCR's alphanumeric ID for the campaign.",
            "title": "TcrCampaignid",
            "type": "string",
            "example": "CCAMPA1"
          },
          "telnyxCampaignId": {
            "description": "Campaign ID. Empty if the number is associated to a shared campaign.",
            "title": "Telnyxcampaignid",
            "type": "string",
            "example": "3008dd9f-66d7-40e0-bf23-bf2d8d1a96ba"
          },
          "assignmentStatus": {
            "description": "The assignment status of the number.",
            "title": "AssignmentStatus",
            "enum": [
              "FAILED_ASSIGNMENT",
              "PENDING_ASSIGNMENT",
              "ASSIGNED",
              "PENDING_UNASSIGNMENT",
              "FAILED_UNASSIGNMENT"
            ],
            "example": "ASSIGNED",
            "type": "string"
          },
          "failureReasons": {
            "description": "Extra info about a failure to assign/unassign a number. Relevant only if the assignmentStatus is either FAILED_ASSIGNMENT or FAILED_UNASSIGNMENT",
            "type": "string"
          },
          "createdAt": {
            "title": "Createdat",
            "type": "string",
            "example": "2021-03-08T17:57:48.801186"
          },
          "updatedAt": {
            "title": "Updatedat",
            "type": "string",
            "example": "2021-03-08T17:57:48.801186"
          }
        }
      },
      "PhoneNumberCampaignCreate": {
        "title": "PhoneNumberCampaignCreate",
        "required": [
          "phoneNumber",
          "campaignId"
        ],
        "type": "object",
        "properties": {
          "phoneNumber": {
            "title": "Phonenumber",
            "type": "string",
            "description": "The phone number you want to link to a specified campaign.",
            "example": "+18005550199"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "The ID of the campaign you want to link to the specified phone number.",
            "example": "4b300178-131c-d902-d54e-72d90ba1620j"
          }
        }
      },
      "PhoneNumberCampaignPaginated": {
        "title": "PhoneNumberCampaignPaginated",
        "required": [
          "records",
          "page",
          "totalRecords"
        ],
        "type": "object",
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumberCampaign"
            }
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "totalRecords": {
            "title": "Totalrecords",
            "type": "integer"
          }
        }
      },
      "PhoneNumberDeletedDetailed": {
        "type": "object",
        "example": {
          "id": "1293384261075731499",
          "record_type": "phone_number",
          "phone_number": "+19705555098",
          "status": "deleted",
          "tags": [
            "tag_1",
            "tag_2"
          ],
          "external_pin": "1234",
          "connection_id": "1293384261075731499",
          "connection_name": "connection-name",
          "customer_reference": "customer-reference",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "messaging_profile_name": "regional-customers",
          "billing_group_id": "86f58db9-0fe3-4adc-9d1f-46e66e6e9323",
          "emergency_enabled": true,
          "emergency_address_id": "1315261609962112019",
          "call_forwarding_enabled": true,
          "cnam_listing_enabled": true,
          "caller_id_name_enabled": true,
          "call_recording_enabled": true,
          "t38_fax_gateway_enabled": true,
          "phone_number_type": "local",
          "purchased_at": "2019-10-23T18:10:00.000Z",
          "created_at": "2019-10-23T18:10:00.000Z",
          "updated_at": "2019-10-24T18:10:00.000Z",
          "hd_voice_enabled": true,
          "deletion_lock_enabled": false
        },
        "properties": {
          "id": {
            "$ref": "#/components/schemas/numbers_IntId"
          },
          "record_type": {
            "type": "string",
            "example": "phone_number",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "The +E.164-formatted phone number associated with this record.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "The phone number's current status.",
            "enum": [
              "purchase-pending",
              "purchase-failed",
              "port-pending",
              "port-failed",
              "active",
              "deleted",
              "emergency-only",
              "ported-out",
              "port-out-pending"
            ],
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "description": "A list of user-assigned tags to help manage the phone number.",
            "items": {
              "type": "string"
            }
          },
          "external_pin": {
            "type": "string",
            "description": "If someone attempts to port your phone number away from Telnyx and your phone number has an external PIN set, Telnyx will attempt to verify that you provided the correct external PIN to the winning carrier. Note that not all carriers cooperate with this security mechanism."
          },
          "connection_name": {
            "type": "string",
            "description": "The user-assigned name of the connection to be associated with this phone number.",
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the connection associated with the phone number."
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "messaging_profile_name": {
            "type": "string",
            "description": "The name of the messaging profile associated with the phone number.",
            "example": "regional-customers"
          },
          "billing_group_id": {
            "type": "string",
            "description": "Identifies the billing group associated with the phone number."
          },
          "emergency_enabled": {
            "type": "boolean",
            "description": "Indicates whether emergency services are enabled for this number.",
            "readOnly": true
          },
          "emergency_address_id": {
            "type": "string",
            "description": "Identifies the emergency address associated with the phone number.",
            "readOnly": true
          },
          "call_forwarding_enabled": {
            "type": "boolean",
            "default": true,
            "description": "Indicates if call forwarding will be enabled for this number if forwards_to and forwarding_type are filled in. Defaults to true for backwards compatibility with APIV1 use of numbers endpoints.",
            "readOnly": true
          },
          "cnam_listing_enabled": {
            "type": "boolean",
            "description": "Indicates whether a CNAM listing is enabled for this number.",
            "readOnly": true
          },
          "caller_id_name_enabled": {
            "type": "boolean",
            "description": "Indicates whether caller ID is enabled for this number.",
            "readOnly": true
          },
          "call_recording_enabled": {
            "type": "boolean",
            "description": "Indicates whether call recording is enabled for this number.",
            "readOnly": true
          },
          "t38_fax_gateway_enabled": {
            "type": "boolean",
            "description": "Indicates whether T38 Fax Gateway for inbound calls to this number.",
            "readOnly": true
          },
          "purchased_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating the time the request was made to purchase the number.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the time it took to activate after the purchase.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "hd_voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether HD voice is enabled for this number.",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "description": "The phone number's type.",
            "enum": [
              "local",
              "toll_free",
              "mobile",
              "national",
              "shared_cost",
              "landline"
            ],
            "readOnly": true
          },
          "deletion_lock_enabled": {
            "type": "boolean",
            "description": "Indicates whether deletion lock is enabled for this number. When enabled, this prevents the phone number from being deleted via the API or Telnyx portal.",
            "readOnly": true
          }
        }
      },
      "PhoneNumberDetailed": {
        "type": "object",
        "example": {
          "id": "1293384261075731499",
          "record_type": "phone_number",
          "phone_number": "+19705555098",
          "country_iso_alpha2": "US",
          "status": "active",
          "tags": [
            "tag_1",
            "tag_2"
          ],
          "external_pin": "1234",
          "connection_id": "1293384261075731499",
          "connection_name": "connection-name",
          "customer_reference": "customer-reference",
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "messaging_profile_name": "regional-customers",
          "billing_group_id": "86f58db9-0fe3-4adc-9d1f-46e66e6e9323",
          "emergency_enabled": true,
          "emergency_address_id": "1315261609962112019",
          "emergency_status": "active",
          "call_forwarding_enabled": true,
          "cnam_listing_enabled": true,
          "caller_id_name_enabled": true,
          "call_recording_enabled": true,
          "t38_fax_gateway_enabled": true,
          "phone_number_type": "local",
          "inbound_call_screening": "disabled",
          "purchased_at": "2019-10-23T18:10:00.000Z",
          "created_at": "2019-10-23T18:10:00.000Z",
          "updated_at": "2019-10-24T18:10:00.000Z",
          "hd_voice_enabled": true,
          "source_type": "number_order",
          "deletion_lock_enabled": false
        },
        "properties": {
          "id": {
            "$ref": "#/components/schemas/numbers_IntId"
          },
          "record_type": {
            "type": "string",
            "example": "phone_number",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "The +E.164-formatted phone number associated with this record.",
            "readOnly": true
          },
          "country_iso_alpha2": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the phone number.",
            "example": "US",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "The phone number's current status.",
            "enum": [
              "purchase-pending",
              "purchase-failed",
              "port-pending",
              "port-failed",
              "active",
              "deleted",
              "emergency-only",
              "ported-out",
              "port-out-pending",
              "requirement-info-pending",
              "requirement-info-under-review",
              "requirement-info-exception",
              "provision-pending"
            ],
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "description": "A list of user-assigned tags to help manage the phone number.",
            "items": {
              "type": "string"
            }
          },
          "external_pin": {
            "type": [
              "string",
              "null"
            ],
            "description": "If someone attempts to port your phone number away from Telnyx and your phone number has an external PIN set, Telnyx will attempt to verify that you provided the correct external PIN to the winning carrier. Note that not all carriers cooperate with this security mechanism."
          },
          "connection_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "The user-assigned name of the connection to be associated with this phone number.",
            "readOnly": true
          },
          "connection_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifies the connection associated with the phone number."
          },
          "customer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifies the messaging profile associated with the phone number."
          },
          "messaging_profile_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the messaging profile associated with the phone number.",
            "example": "regional-customers"
          },
          "billing_group_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifies the billing group associated with the phone number."
          },
          "emergency_enabled": {
            "type": "boolean",
            "description": "Indicates whether emergency services are enabled for this number.",
            "readOnly": true
          },
          "emergency_address_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifies the emergency address associated with the phone number.",
            "readOnly": true
          },
          "emergency_status": {
            "type": "string",
            "description": "Indicates the status of the provisioning of emergency services for the phone number. This field contains information about activity that may be ongoing for a number where it either is being provisioned or deprovisioned but is not yet enabled/disabled.",
            "enum": [
              "active",
              "deprovisioning",
              "disabled",
              "provisioning",
              "provisioning-failed"
            ]
          },
          "call_forwarding_enabled": {
            "type": "boolean",
            "default": true,
            "description": "Indicates if call forwarding will be enabled for this number if forwards_to and forwarding_type are filled in. Defaults to true for backwards compatibility with APIV1 use of numbers endpoints.",
            "readOnly": true
          },
          "cnam_listing_enabled": {
            "type": "boolean",
            "description": "Indicates whether a CNAM listing is enabled for this number.",
            "readOnly": true
          },
          "caller_id_name_enabled": {
            "type": "boolean",
            "description": "Indicates whether caller ID is enabled for this number.",
            "readOnly": true
          },
          "call_recording_enabled": {
            "type": "boolean",
            "description": "Indicates whether call recording is enabled for this number.",
            "readOnly": true
          },
          "t38_fax_gateway_enabled": {
            "type": "boolean",
            "description": "Indicates whether T38 Fax Gateway for inbound calls to this number.",
            "readOnly": true
          },
          "purchased_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was purchased.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true,
            "format": "date-time"
          },
          "phone_number_type": {
            "type": "string",
            "description": "The phone number's type.\nNote: For numbers purchased prior to July 2023 or when fetching a number's details immediately after a purchase completes, the legacy values `tollfree`, `shortcode` or `longcode` may be returned instead.",
            "enum": [
              "local",
              "toll_free",
              "mobile",
              "national",
              "shared_cost",
              "landline",
              "tollfree",
              "shortcode",
              "longcode"
            ],
            "readOnly": true
          },
          "inbound_call_screening": {
            "type": "string",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ],
            "default": "disabled",
            "description": "The inbound_call_screening setting is a phone number configuration option variable that allows users to configure their settings to block or flag fraudulent calls. It can be set to disabled, reject_calls, or flag_calls. This feature has an additional per-number monthly cost associated with it."
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "hd_voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether HD voice is enabled for this number.",
            "readOnly": true
          },
          "source_type": {
            "description": "Indicates if the phone number was purchased or ported in. For some numbers this information may not be available.",
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "number_order",
                  "port_request"
                ]
              },
              {
                "type": "null"
              }
            ],
            "readOnly": true
          },
          "deletion_lock_enabled": {
            "type": "boolean",
            "description": "Indicates whether deletion lock is enabled for this number. When enabled, this prevents the phone number from being deleted via the API or Telnyx portal."
          }
        },
        "required": [
          "id",
          "record_type",
          "phone_number",
          "country_iso_alpha2",
          "status",
          "tags",
          "external_pin",
          "created_at",
          "phone_number_type",
          "purchased_at",
          "deletion_lock_enabled"
        ]
      },
      "PhoneNumberEnableEmergencyRequest": {
        "type": "object",
        "required": [
          "emergency_enabled",
          "emergency_address_id"
        ],
        "properties": {
          "emergency_enabled": {
            "type": "boolean",
            "description": "Indicates whether to enable emergency services on this number."
          },
          "emergency_address_id": {
            "type": "string",
            "description": "Identifies the address to be used with emergency services."
          }
        },
        "example": {
          "emergency_enabled": true,
          "emergency_address_id": "53829456729313"
        }
      },
      "PhoneNumberStatusResponsePaginated": {
        "title": "PhoneNumberStatusResponsePaginated",
        "required": [
          "records"
        ],
        "type": "object",
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileAssignmentPhoneNumbers"
            }
          }
        }
      },
      "PhoneNumberVerifyOwnershipRequest": {
        "type": "object",
        "required": [
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "description": "Array of phone numbers to verify ownership for",
            "items": {
              "type": "string",
              "description": "Phone number in E.164 format",
              "example": "+15551234567"
            },
            "minItems": 1,
            "maxItems": 1000
          }
        }
      },
      "PhoneNumberVerifyOwnershipResponse": {
        "type": "object",
        "properties": {
          "found": {
            "type": "array",
            "description": "The list of phone numbers which you own and are in an editable state",
            "items": {
              "type": "object",
              "properties": {
                "number_val_e164": {
                  "type": "string",
                  "description": "The phone number in E.164 format",
                  "example": "+15551234567"
                },
                "id": {
                  "$ref": "#/components/schemas/numbers_IntId"
                }
              }
            }
          },
          "not_found": {
            "type": "array",
            "description": "Phone numbers that are not found in the account",
            "items": {
              "type": "string",
              "description": "Phone number in E.164 format",
              "example": "+15551234568"
            }
          },
          "record_type": {
            "type": "string",
            "example": "number_ownership_verification",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          }
        }
      },
      "PhoneNumberWithMessagingSettings": {
        "type": "object",
        "example": {
          "record_type": "messaging_settings",
          "id": "1293384261075731499",
          "phone_number": "+18005550001",
          "messaging_profile_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "country_code": "US",
          "type": "tollfree",
          "health": {
            "message_count": 122,
            "inbound_outbound_ratio": 0.43,
            "success_ratio": 0.94,
            "spam_ratio": 0.06
          },
          "eligible_messaging_products": [
            "A2P"
          ],
          "traffic_type": "A2P",
          "messaging_product": "A2P",
          "features": {
            "sms": {
              "domestic_two_way": true,
              "international_inbound": true,
              "international_outbound": true
            },
            "mms": null
          }
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "messaging_settings",
            "enum": [
              "messaging_phone_number",
              "messaging_settings"
            ],
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "+E.164 formatted phone number.",
            "readOnly": true,
            "x-format": "e164"
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unique identifier for a messaging profile."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code.",
            "pattern": "^[A-Z]{2}$",
            "example": "US",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "description": "The type of the phone number",
            "enum": [
              "long-code",
              "toll-free",
              "short-code",
              "longcode",
              "tollfree",
              "shortcode"
            ],
            "readOnly": true
          },
          "health": {
            "$ref": "#/components/schemas/NumberHealthMetrics"
          },
          "eligible_messaging_products": {
            "type": "array",
            "description": "The messaging products that this number can be registered to use",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "traffic_type": {
            "type": "string",
            "description": "The messaging traffic or use case for which the number is currently configured.",
            "example": "P2P",
            "readOnly": true
          },
          "messaging_product": {
            "type": "string",
            "description": "The messaging product that the number is registered to use",
            "example": "P2P"
          },
          "features": {
            "type": "object",
            "readOnly": true,
            "properties": {
              "sms": {
                "$ref": "#/components/schemas/MessagingFeatureSet"
              },
              "mms": {
                "$ref": "#/components/schemas/MessagingFeatureSet"
              }
            }
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns this phone number."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with this phone number."
          }
        }
      },
      "PhoneNumberWithVoiceSettings": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1293384261075731499",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "voice_settings",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "example": "+13035551234",
            "description": "The phone number in +E164 format.",
            "readOnly": true
          },
          "connection_id": {
            "type": "string",
            "example": "1d0e6cb8-8668-462e-94c6-49ae0f0ed48b",
            "description": "Identifies the connection associated with this phone number."
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "tech_prefix_enabled": {
            "type": "boolean",
            "default": false,
            "example": false,
            "description": "Controls whether a tech prefix is enabled for this phone number."
          },
          "translated_number": {
            "type": "string",
            "example": "+13035559999",
            "default": "",
            "description": "This field allows you to rewrite the destination number of an inbound call before the call is routed to you. The value of this field may be any alphanumeric value, and the value will replace the number originally dialed."
          },
          "call_forwarding": {
            "$ref": "#/components/schemas/CallForwarding"
          },
          "cnam_listing": {
            "$ref": "#/components/schemas/CnamListing"
          },
          "emergency": {
            "$ref": "#/components/schemas/EmergencySettings"
          },
          "usage_payment_method": {
            "type": "string",
            "enum": [
              "pay-per-minute",
              "channel"
            ],
            "default": "pay-per-minute",
            "example": "pay-per-minute",
            "description": "Controls whether a number is billed per minute or uses your concurrent channels."
          },
          "media_features": {
            "$ref": "#/components/schemas/MediaFeatures"
          },
          "call_recording": {
            "$ref": "#/components/schemas/CallRecording"
          },
          "inbound_call_screening": {
            "type": "string",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ],
            "default": "disabled",
            "description": "The inbound_call_screening setting is a phone number configuration option variable that allows users to configure their settings to block or flag fraudulent calls. It can be set to disabled, reject_calls, or flag_calls. This feature has an additional per-number monthly cost associated with it."
          }
        },
        "example": {
          "id": "1293384261075731499",
          "record_type": "voice_settings",
          "connection_id": "1d0e6cb8-8668-462e-94c6-49ae0f0ed48b",
          "customer_reference": "customer-reference",
          "tech_prefix_enabled": false,
          "translated_number": "+13035559999",
          "call_forwarding": {
            "call_forwarding_enabled": true,
            "forwards_to": "+13035559123",
            "forwarding_type": "always"
          },
          "cnam_listing": {
            "cnam_listing_enabled": true,
            "cnam_listing_details": "example"
          },
          "emergency": {
            "emergency_enabled": true,
            "emergency_address_id": "1315261609962112019",
            "emergency_status": "active"
          },
          "usage_payment_method": "pay-per-minute",
          "media_features": {
            "rtp_auto_adjust_enabled": true,
            "accept_any_rtp_packets_enabled": true,
            "t38_fax_gateway_enabled": true
          },
          "call_recording": {
            "inbound_call_recording_enabled": true,
            "inbound_call_recording_format": "wav",
            "inbound_call_recording_channels": "single"
          },
          "inbound_call_screening": "disabled"
        }
      },
      "PhoneNumbersJob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "phone_numbers_job",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed",
              "expired"
            ],
            "default": "pending",
            "example": "pending",
            "description": "Indicates the completion status of the background update.",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "enum": [
              "update_emergency_settings",
              "delete_phone_numbers",
              "update_phone_numbers"
            ],
            "example": "update_emergency_settings",
            "description": "Identifies the type of the background job.",
            "readOnly": true
          },
          "etc": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the estimated time of completion of the background job.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "description": "The unique phone numbers given as arguments in the job creation.",
              "$ref": "#/components/schemas/PhoneNumbersJobPhoneNumber"
            }
          },
          "successful_operations": {
            "type": "array",
            "items": {
              "description": "The phone numbers successfully updated.",
              "$ref": "#/components/schemas/PhoneNumbersJobSuccessfulOperation"
            },
            "readOnly": true
          },
          "pending_operations": {
            "type": "array",
            "items": {
              "description": "The phone numbers pending confirmation on update results. Entries in this list are transient, and will be moved to either successful_operations or failed_operations once the processing is done.",
              "$ref": "#/components/schemas/PhoneNumbersJobPendingOperation"
            },
            "readOnly": true
          },
          "failed_operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumbersJobFailedOperation"
            },
            "readOnly": true
          }
        },
        "example": {
          "id": "42587e44-3a3e-46de-9255-0c9a7a1d1ec7",
          "record_type": "phone_numbers_job",
          "status": "pending",
          "type": "update_emergency_settings",
          "etc": "2020-10-30T18:10:00.000Z",
          "created_at": "2020-10-23T18:10:00.000Z",
          "updated_at": "2020-10-23T18:10:01.000Z",
          "phone_numbers": [
            {
              "id": "2637816387126861836"
            },
            {
              "phone_number": "+19715555098"
            },
            {
              "phone_number": "+19705555099"
            },
            {
              "id": "3388768018273"
            }
          ],
          "successful_operations": [
            {
              "id": "2637816387126861836",
              "phone_number": "+19705555098"
            },
            {
              "id": "33081887126861836",
              "phone_number": "+19715555098"
            }
          ],
          "pending_operations": [
            {
              "id": "2637816387126861837",
              "phone_number": "+19705555099"
            }
          ],
          "failed_operations": [
            {
              "id": "3388768018273",
              "phone_number": "+19705551234",
              "errors": [
                {
                  "code": "10015",
                  "title": "Bad Request",
                  "detail": "The field is invalid.",
                  "source": {
                    "pointer": "/emergency_address_id"
                  }
                }
              ]
            }
          ]
        }
      },
      "PhoneNumbersJobDeletePhoneNumbersRequest": {
        "type": "object",
        "required": [
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "description": "Array of phone number ids and/or phone numbers in E164 format to update",
              "type": "string"
            }
          }
        },
        "example": {
          "phone_numbers": [
            "+19705555098",
            "+19715555098",
            "32873127836"
          ]
        }
      },
      "PhoneNumbersJobFailedOperation": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/numbers_Error"
            }
          }
        },
        "type": "object"
      },
      "PhoneNumbersJobPendingOperation": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          }
        },
        "type": "object"
      },
      "PhoneNumbersJobPhoneNumber": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format.",
            "example": "+19705555000"
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          }
        },
        "type": "object"
      },
      "PhoneNumbersJobSuccessfulOperation": {
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number in e164 format."
          },
          "id": {
            "type": "string",
            "description": "The phone number's ID"
          }
        },
        "type": "object"
      },
      "PhoneNumbersJobUpdateEmergencySettingsRequest": {
        "type": "object",
        "required": [
          "emergency_enabled",
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "description": "Array of phone number ids and/or phone numbers in E164 format to update",
              "type": "string"
            }
          },
          "emergency_enabled": {
            "type": "boolean",
            "description": "Indicates whether to enable or disable emergency services on the numbers."
          },
          "emergency_address_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifies the address to be used with emergency services. Required if emergency_enabled is true, must be null or omitted if emergency_enabled is false."
          }
        },
        "example": {
          "emergency_enabled": true,
          "emergency_address_id": "53829456729313",
          "phone_numbers": [
            "+19705555098",
            "+19715555098",
            "32873127836"
          ]
        }
      },
      "PhoneNumbersJobUpdatePhoneNumbersRequest": {
        "type": "object",
        "required": [
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "description": "Array of phone number ids and/or phone numbers in E164 format to update. This parameter is required if no filter parameters are provided. If you want to update specific numbers rather than all numbers matching a filter, you must use this parameter. Each item must be either a valid phone number ID or a phone number in E164 format (e.g., '+13127367254').",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "description": "A list of user-assigned tags to help organize phone numbers.",
            "items": {
              "type": "string"
            }
          },
          "external_pin": {
            "type": "string",
            "description": "If someone attempts to port your phone number away from Telnyx and your phone number has an external PIN set, we will attempt to verify that you provided the correct external PIN to the winning carrier. Note that not all carriers cooperate with this security mechanism."
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the connection associated with the phone number."
          },
          "billing_group_id": {
            "type": "string",
            "description": "Identifies the billing group associated with the phone number."
          },
          "hd_voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether to enable or disable HD Voice on each phone number. HD Voice is a paid feature and may not be available for all phone numbers, more details about it can be found in the Telnyx support documentation."
          },
          "deletion_lock_enabled": {
            "type": "boolean",
            "description": "Indicates whether to enable or disable the deletion lock on each phone number. When enabled, this prevents the phone number from being deleted via the API or Telnyx portal."
          },
          "voice": {
            "$ref": "#/components/schemas/UpdatePhoneNumberVoiceSettingsRequest"
          }
        },
        "example": {
          "phone_numbers": [
            "1583466971586889004",
            "+13127367254"
          ],
          "tags": [
            "tag"
          ],
          "external_pin": "123456",
          "customer_reference": "customer-reference",
          "connection_id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "billing_group_id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "deletion_lock_enabled": true,
          "voice": {
            "call_forwarding": {
              "call_forwarding_enabled": true,
              "forwards_to": "+13035559123",
              "forwarding_type": "always"
            }
          }
        }
      },
      "PhysicalAddress": {
        "type": "object",
        "required": [
          "country",
          "administrative_area",
          "city",
          "postal_code",
          "street_address"
        ],
        "properties": {
          "country": {
            "type": "string",
            "maxLength": 100,
            "description": "Country name (e.g., United States)",
            "example": "United States"
          },
          "administrative_area": {
            "type": "string",
            "maxLength": 100,
            "description": "State or province",
            "example": "Illinois"
          },
          "city": {
            "type": "string",
            "maxLength": 100,
            "description": "City name",
            "example": "Chicago"
          },
          "postal_code": {
            "type": "string",
            "maxLength": 20,
            "description": "ZIP or postal code",
            "example": "60601"
          },
          "street_address": {
            "type": "string",
            "maxLength": 255,
            "description": "Street address",
            "example": "123 Main St"
          },
          "extended_address": {
            "type": "string",
            "nullable": true,
            "maxLength": 255,
            "description": "Additional address line (suite, apt, etc.)",
            "example": "Suite 400"
          }
        }
      },
      "PlanResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PlanStepData"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PlanResponse"
      },
      "PlanStepData": {
        "properties": {
          "step_id": {
            "type": "string",
            "title": "Step Id"
          },
          "run_id": {
            "type": "string",
            "format": "uuid",
            "title": "Run Id"
          },
          "parent_step_id": {
            "title": "Parent Step Id",
            "type": "string"
          },
          "sequence": {
            "type": "integer",
            "title": "Sequence"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "status": {
            "$ref": "#/components/schemas/StepStatus"
          },
          "started_at": {
            "title": "Started At",
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "title": "Completed At",
            "type": "string",
            "format": "date-time"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "required": [
          "step_id",
          "run_id",
          "sequence",
          "description",
          "status"
        ],
        "title": "PlanStepData"
      },
      "PlanStepResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/PlanStepData"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PlanStepResponse"
      },
      "PlanStepsCreatedResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PlanStepData"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PlanStepsCreatedResponse"
      },
      "PlayAudioUrlRequest": {
        "type": "object",
        "title": "Play Audio URL Request",
        "properties": {
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played back on the call. The URL can point to either a WAV or MP3 file. media_name and audio_url cannot be used together in one request."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back on the call. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "loop": {
            "description": "The number of times the audio file should be played. If supplied, the value must be an integer between 1 and 100, or the special string `infinity` for an endless loop.",
            "$ref": "#/components/schemas/Loopcount",
            "example": "infinity",
            "default": 1
          },
          "overlay": {
            "description": "When enabled, audio will be mixed on top of any other audio that is actively being played back. Note that `overlay: true` will only work if there is another audio file already being played on the call.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "stop": {
            "description": "When specified, it stops the current audio being played. Specify `current` to stop the current audio being played, and to play the next file in the queue. Specify `all` to stop the current audio file being played and to also clear all audio files from the queue.",
            "type": "string",
            "example": "current"
          },
          "target_legs": {
            "description": "Specifies the leg or legs on which audio will be played. If supplied, the value must be either `self`, `opposite` or `both`.",
            "type": "string",
            "default": "self",
            "example": "self"
          },
          "cache_audio": {
            "description": "Caches the audio file. Useful when playing the same audio file multiple times during the call.",
            "type": "boolean",
            "default": true,
            "example": true
          },
          "audio_type": {
            "description": "Specifies the type of audio provided in `audio_url` or `playback_content`.",
            "type": "string",
            "enum": [
              "mp3",
              "wav"
            ],
            "default": "mp3",
            "example": "wav"
          },
          "playback_content": {
            "description": "Allows a user to provide base64 encoded mp3 or wav. Note: when using this parameter, `media_url` and `media_name` in the `playback_started` and `playback_ended` webhooks will be empty",
            "type": "string",
            "example": "SUQzAwAAAAADf1..."
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "audio_url": "http://www.example.com/sounds/greeting.wav",
          "loop": "infinity",
          "overlay": true,
          "stop": "current",
          "target_legs": "self",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "PlayBeep": {
        "type": "boolean",
        "description": "Whether to play a beep when recording is started.",
        "example": false,
        "default": true
      },
      "PlaybackStopRequest": {
        "type": "object",
        "title": "Playback Stop Request",
        "properties": {
          "overlay": {
            "description": "When enabled, it stops the audio being played in the overlay queue.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "stop": {
            "description": "Use `current` to stop the current audio being played. Use `all` to stop the current audio file being played and clear all audio files from the queue.",
            "type": "string",
            "example": "current",
            "default": "all"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "overlay": false,
          "stop": "all",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "PortOutSupportingDocument": {
        "required": [
          "id",
          "record_type",
          "type",
          "portout_id",
          "document_id",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "5a16902a-2ee9-4882-a247-420fc6627b62"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "supporting_document"
          },
          "type": {
            "type": "string",
            "enum": [
              "loa",
              "invoice"
            ],
            "description": "Identifies the type of the document",
            "readOnly": true,
            "example": "loa"
          },
          "portout_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated port request",
            "readOnly": true,
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "document_id": {
            "format": "uuid",
            "type": "string",
            "description": "Identifies the associated document",
            "example": "f1c5e079-9d82-4f50-95bc-ae2f6b8d84d7"
          },
          "created_at": {
            "type": "string",
            "description": "Supporting document creation timestamp in ISO 8601 format",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "Supporting document last changed timestamp in ISO 8601 format",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "5a16902a-2ee9-4882-a247-420fc6627b62",
          "record_type": "supporting_document",
          "type": "loa",
          "portout_id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "document_id": "f1c5e079-9d82-4f50-95bc-ae2f6b8d84d7",
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        },
        "type": "object"
      },
      "Portability": {
        "type": "object",
        "properties": {
          "lrn": {
            "type": "string",
            "description": "Local Routing Number, if assigned to the requested phone number",
            "example": "2245701999"
          },
          "ported_status": {
            "type": "string",
            "description": "Indicates whether or not the requested phone number has been ported",
            "enum": [
              "Y",
              "N",
              ""
            ],
            "example": "Y"
          },
          "ported_date": {
            "type": "string",
            "description": "ISO-formatted date when the requested phone number has been ported",
            "example": "2017-10-20"
          },
          "ocn": {
            "type": "string",
            "description": "Operating Company Name (OCN) as per the Local Exchange Routing Guide (LERG) database",
            "example": "073H"
          },
          "line_type": {
            "type": "string",
            "description": "Type of number",
            "example": "voip"
          },
          "spid": {
            "type": "string",
            "description": "SPID (Service Provider ID)",
            "example": "073H"
          },
          "spid_carrier_name": {
            "type": "string",
            "description": "Service provider name",
            "example": "Telnyx/4"
          },
          "spid_carrier_type": {
            "type": "string",
            "description": "Service provider type",
            "example": "3"
          },
          "altspid": {
            "type": "string",
            "description": "Alternative SPID (Service Provider ID). Often used when a carrier is using a number from another carrier",
            "example": "073H"
          },
          "altspid_carrier_name": {
            "type": "string",
            "description": "Alternative service provider name",
            "example": "Telnyx/4"
          },
          "altspid_carrier_type": {
            "type": "string",
            "description": "Alternative service provider type",
            "example": "3"
          },
          "city": {
            "type": "string",
            "description": "City name extracted from the locality in the Local Exchange Routing Guide (LERG) database",
            "example": "WAUKEGAN"
          },
          "state": {
            "type": "string",
            "example": "Illinois"
          }
        }
      },
      "PortabilityCheckDetails": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "portability_check_result"
          },
          "fast_portable": {
            "type": "boolean",
            "description": "Indicates whether this phone number is FastPort eligible",
            "example": true,
            "readOnly": true
          },
          "not_portable_reason": {
            "type": "string",
            "description": "If this phone number is not portable, explains why. Empty string if the number is portable.",
            "example": "No coverage",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "The +E.164 formatted phone number this result is about",
            "example": "+13125550123",
            "readOnly": true
          },
          "portable": {
            "type": "boolean",
            "description": "Indicates whether this phone number is portable",
            "example": true,
            "readOnly": true
          }
        }
      },
      "PortabilityStatus": {
        "type": "string",
        "description": "Specifies whether Telnyx is able to confirm portability this number in the United States & Canada. International phone numbers are provisional by default.",
        "enum": [
          "pending",
          "confirmed",
          "provisional"
        ],
        "example": "confirmed"
      },
      "PortingActionRequirement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the action requirement",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource",
            "example": "porting_action_requirement",
            "enum": [
              "porting_action_requirement"
            ]
          },
          "porting_order_id": {
            "type": "string",
            "description": "The ID of the porting order this action requirement belongs to",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292"
          },
          "requirement_type_id": {
            "type": "string",
            "description": "The ID of the requirement type",
            "example": "53970723-fbff-4f46-a975-f62be6c1a585"
          },
          "action_type": {
            "type": "string",
            "description": "The type of action required",
            "example": "document_upload"
          },
          "action_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "Optional URL for the action",
            "example": "https://example.com/action"
          },
          "status": {
            "type": "string",
            "description": "Current status of the action requirement",
            "example": "created",
            "enum": [
              "created",
              "pending",
              "completed",
              "cancelled",
              "failed"
            ]
          },
          "cancel_reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason for cancellation if status is 'cancelled'",
            "example": null
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date-time indicating when the resource was created",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "PortingAdditionalDocument": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies this additional document",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "document_type": {
            "type": "string",
            "description": "Identifies the type of additional document",
            "enum": [
              "loa",
              "invoice",
              "csr",
              "other"
            ],
            "example": "loa"
          },
          "document_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated document",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "filename": {
            "type": "string",
            "description": "The filename of the related document.",
            "example": "file.txt"
          },
          "content_type": {
            "type": "string",
            "description": "The content type of the related document.",
            "example": "text/plain"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated porting order",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "record_type": {
            "type": "string",
            "example": "porting_additional_document",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingAssociatedPhoneNumber": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this associated phone number.",
            "type": "string",
            "format": "uuid",
            "example": "f24151b6-3389-41d3-8747-7dd8c681e5e2",
            "readOnly": true
          },
          "porting_order_id": {
            "description": "Identifies the porting order associated with this phone number.",
            "type": "string",
            "format": "uuid",
            "example": "a24151b6-3389-41d3-8747-7dd8c681e5e2"
          },
          "country_code": {
            "description": "Specifies the country code for this associated phone number. It is a two-letter ISO 3166-1 alpha-2 country code.",
            "type": "string",
            "example": "GB"
          },
          "phone_number_type": {
            "description": "Specifies the phone number type for this associated phone number.",
            "type": "string",
            "example": "local",
            "enum": [
              "landline",
              "local",
              "mobile",
              "national",
              "shared_cost",
              "toll_free"
            ]
          },
          "phone_number_range": {
            "description": "Specifies the phone number range for this associated phone number.",
            "type": "object",
            "properties": {
              "start_at": {
                "description": "Specifies the start of the phone number range for this associated phone number.",
                "type": "string",
                "pattern": "^\\+\\d{7,15}$",
                "example": "+441234567890"
              },
              "end_at": {
                "description": "Specifies the end of the phone number range for this associated phone number.",
                "type": "string",
                "pattern": "^\\+\\d{7,15}$",
                "example": "+441234567899"
              }
            }
          },
          "action": {
            "description": "Specifies the action to take with this phone number during partial porting.",
            "type": "string",
            "enum": [
              "keep",
              "disconnect"
            ],
            "example": "keep"
          },
          "record_type": {
            "type": "string",
            "example": "porting_associated_phone_number",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was last updated.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          }
        }
      },
      "PortingEvent": {
        "type": "object",
        "oneOf": [
          {
            "$ref": "#/components/schemas/PortingEventDeletedPayload"
          },
          {
            "$ref": "#/components/schemas/PortingEventMessagingChangedPayload"
          },
          {
            "$ref": "#/components/schemas/PortingEventStatusChangedEvent"
          },
          {
            "$ref": "#/components/schemas/PortingEventNewCommentEvent"
          },
          {
            "$ref": "#/components/schemas/PortingEventSplitEvent"
          },
          {
            "$ref": "#/components/schemas/PortingEventWithoutWebhook"
          }
        ],
        "discriminator": {
          "propertyName": "event_type",
          "mapping": {
            "porting_order.deleted": "#/components/schemas/PortingEventDeletedPayload",
            "porting_order.messaging_changed": "#/components/schemas/PortingEventMessagingChangedPayload",
            "porting_order.status_changed": "#/components/schemas/PortingEventStatusChangedEvent",
            "porting_order.new_comment": "#/components/schemas/PortingEventNewCommentEvent",
            "porting_order.split": "#/components/schemas/PortingEventSplitEvent",
            "porting_order.loa_updated": "#/components/schemas/PortingEventWithoutWebhook",
            "porting_order.sharing_token_expired": "#/components/schemas/PortingEventWithoutWebhook"
          }
        }
      },
      "PortingEventDeletedPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.deleted"
            ],
            "example": "porting_order.deleted"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the porting order that was deleted."
              },
              "customer_reference": {
                "type": "string",
                "description": "Identifies the customer reference associated with the porting order.",
                "example": "my-ref-001"
              },
              "deleted_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 formatted date indicating when the porting order was deleted.",
                "example": "2021-03-19T10:07:15.527Z"
              },
              "record_type": {
                "type": "string",
                "example": "porting_event",
                "description": "Identifies the type of the resource.",
                "readOnly": true
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 formatted date indicating when the resource was created.",
                "example": "2021-03-19T10:07:15.527000Z"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 formatted date indicating when the resource was updated.",
                "example": "2021-03-19T10:07:15.527000Z"
              }
            }
          }
        }
      },
      "PortingEventMessagingChangedPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.messaging_changed"
            ],
            "example": "porting_order.messaging_changed"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the porting_order.messaging_changed event",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the porting order that was moved."
              },
              "customer_reference": {
                "type": "string",
                "description": "Identifies the customer reference associated with the porting order.",
                "example": "my-ref-001"
              },
              "support_key": {
                "type": "string",
                "description": "Identifies the support key associated with the porting order.",
                "example": "sr_b1a2c3"
              },
              "messaging": {
                "type": "object",
                "description": "The messaging portability status of the porting order.",
                "properties": {
                  "messaging_capable": {
                    "type": "boolean",
                    "description": "Indicates whether the porting order is messaging capable.",
                    "example": true
                  },
                  "enable_messaging": {
                    "type": "boolean",
                    "description": "Indicates whether Telnyx will port messaging capabilities from the losing carrier. If false, any messaging capabilities will stay with their current provider.",
                    "example": true
                  },
                  "messaging_port_status": {
                    "type": "string",
                    "description": "Indicates the messaging port status of the porting order.",
                    "enum": [
                      "not_applicable",
                      "pending",
                      "activating",
                      "exception",
                      "canceled",
                      "partial_port_complete",
                      "ported"
                    ],
                    "example": "ported"
                  },
                  "messaging_port_completed": {
                    "type": "boolean",
                    "description": "Indicates whether the messaging port is completed.",
                    "example": true
                  }
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingEventNewCommentEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.new_comment"
            ],
            "example": "porting_order.new_comment"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the porting_order.new_comment event",
            "properties": {
              "porting_order_id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the porting order that the comment was added to."
              },
              "support_key": {
                "type": "string",
                "description": "Identifies the support key associated with the porting order.",
                "example": "sr_b1a2c3"
              },
              "comment": {
                "type": "object",
                "description": "The comment that was added to the porting order.",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                    "description": "Identifies the comment."
                  },
                  "body": {
                    "type": "string",
                    "description": "The body of the comment.",
                    "example": "This is a comment."
                  },
                  "user_id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                    "description": "Identifies the user that create the comment."
                  },
                  "user_type": {
                    "type": "string",
                    "example": "user",
                    "description": "Identifies the type of the user that created the comment.",
                    "enum": [
                      "user",
                      "admin",
                      "system"
                    ]
                  },
                  "inserted_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ISO 8601 formatted date indicating when the comment was created.",
                    "example": "2021-03-19T10:07:15.527Z"
                  }
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingEventSplitEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.split"
            ],
            "example": "porting_order.split"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the porting_order.split event",
            "properties": {
              "from": {
                "type": "object",
                "description": "The porting order that was split.",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                    "description": "Identifies the porting order that was split."
                  }
                }
              },
              "to": {
                "type": "object",
                "description": "The new porting order that the phone numbers was moved to.",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                    "description": "Identifies the porting order that was split."
                  }
                }
              },
              "porting_phone_numbers": {
                "type": "array",
                "description": "The list of porting phone numbers that were moved to the new porting order.",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                      "description": "Identifies the porting phone number that was moved."
                    }
                  }
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingEventStatusChangedEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.status_changed"
            ],
            "example": "porting_order.status_changed"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the porting_order.status_changed event",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the porting order that was moved."
              },
              "customer_reference": {
                "type": "string",
                "description": "Identifies the customer reference associated with the porting order.",
                "example": "my-ref-001"
              },
              "status": {
                "$ref": "#/components/schemas/PortingOrderStatus"
              },
              "support_key": {
                "type": "string",
                "description": "Identifies the support key associated with the porting order.",
                "example": "sr_b1a2c3"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 formatted date indicating when the porting order was moved.",
                "example": "2021-03-19T10:07:15.527Z"
              },
              "webhook_url": {
                "type": "string",
                "description": "The URL to send the webhook to.",
                "example": "https://example.com/webhook"
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingEventWithoutWebhook": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "porting_order.loa_updated",
              "porting_order.sharing_token_expired"
            ],
            "example": "porting_order.loa_updated"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook",
                "webhook_v1"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "null"
          },
          "record_type": {
            "type": "string",
            "example": "porting_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingLOAConfiguration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the LOA configuration.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "company_name": {
            "type": "string",
            "description": "The name of the company",
            "example": "Telnyx"
          },
          "organization_id": {
            "type": "string",
            "description": "The organization that owns the LOA configuration",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "name": {
            "type": "string",
            "description": "The name of the LOA configuration",
            "example": "My LOA Configuration"
          },
          "logo": {
            "type": "object",
            "description": "The logo to be used in the LOA.",
            "properties": {
              "document_id": {
                "type": "string",
                "format": "uuid",
                "description": "Identifies the document that contains the logo.",
                "example": "f1486bae-f067-460c-ad43-73a92848f902"
              },
              "content_type": {
                "type": "string",
                "description": "The content type of the logo.",
                "enum": [
                  "image/png"
                ],
                "example": "image/png"
              }
            }
          },
          "address": {
            "type": "object",
            "description": "The address of the company.",
            "properties": {
              "street_address": {
                "type": "string",
                "description": "The street address of the company",
                "example": "600 Congress Avenue"
              },
              "extended_address": {
                "type": "string",
                "description": "The extended address of the company",
                "example": "14th Floor"
              },
              "city": {
                "type": "string",
                "description": "The locality of the company",
                "example": "Austin"
              },
              "state": {
                "type": "string",
                "description": "The administrative area of the company",
                "example": "TX",
                "pattern": "^[A-Z]{2}$"
              },
              "zip_code": {
                "type": "string",
                "description": "The postal code of the company",
                "example": "78701",
                "pattern": "^[0-9]{5}(?:-[0-9]{4})?$"
              },
              "country_code": {
                "type": "string",
                "description": "The country code of the company",
                "example": "US",
                "pattern": "^[A-Z]{2}$"
              }
            }
          },
          "contact": {
            "type": "object",
            "description": "The contact information of the company.",
            "properties": {
              "email": {
                "type": "string",
                "description": "The email address of the contact",
                "example": "testing@telnyx.com"
              },
              "phone_number": {
                "type": "string",
                "description": "The phone number of the contact",
                "example": "+12003270001",
                "pattern": "^\\+\\d{11,15}$"
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_loa_configuration",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingOrder": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this porting order",
            "type": "string",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902",
            "readOnly": true
          },
          "customer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "A customer-specified reference number for customer bookkeeping purposes",
            "example": "Acct 123abc"
          },
          "customer_group_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "A customer-specified group reference for customer bookkeeping purposes",
            "example": "Group-456"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "status": {
            "$ref": "#/components/schemas/PortingOrderStatus"
          },
          "support_key": {
            "type": [
              "string",
              "null"
            ],
            "description": "A key to reference this porting order when contacting Telnyx customer support. This information is not available in draft porting orders.",
            "example": "sr_123abc",
            "readOnly": true
          },
          "parent_support_key": {
            "type": [
              "string",
              "null"
            ],
            "description": "A key to reference for the porting order group when contacting Telnyx customer support. This information is not available for porting orders in `draft` state",
            "example": "pr_123abc",
            "readOnly": true
          },
          "porting_phone_numbers_count": {
            "type": "integer",
            "description": "Count of phone numbers associated with this porting order",
            "example": 1,
            "readOnly": true
          },
          "old_service_provider_ocn": {
            "type": "string",
            "description": "Identifies the old service provider",
            "example": "Unreal Communications",
            "readOnly": true
          },
          "phone_numbers": {
            "type": "array",
            "description": "List of phone numbers associated with this porting order",
            "items": {
              "$ref": "#/components/schemas/PortingPhoneNumber"
            }
          },
          "documents": {
            "$ref": "#/components/schemas/PortingOrderDocuments"
          },
          "misc": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PortingOrderMisc"
              },
              {
                "type": "null"
              }
            ]
          },
          "end_user": {
            "$ref": "#/components/schemas/PortingOrderEndUser"
          },
          "activation_settings": {
            "$ref": "#/components/schemas/PortingOrderActivationSettings"
          },
          "phone_number_configuration": {
            "$ref": "#/components/schemas/PortingOrderPhoneNumberConfiguration"
          },
          "phone_number_type": {
            "type": "string",
            "description": "The type of the phone number",
            "example": "local",
            "enum": [
              "landline",
              "local",
              "mobile",
              "national",
              "shared_cost",
              "toll_free"
            ]
          },
          "description": {
            "type": "string",
            "description": "A description of the porting order",
            "example": "FP Telnyx",
            "readOnly": true
          },
          "requirements": {
            "type": "array",
            "description": "List of documentation requirements for porting numbers. Can be set directly or via the `requirement_group_id` parameter.",
            "items": {
              "$ref": "#/components/schemas/PortingOrderRequirement"
            }
          },
          "requirements_met": {
            "type": "boolean",
            "description": "Is true when the required documentation is met",
            "example": false
          },
          "user_feedback": {
            "$ref": "#/components/schemas/PortingOrderUserFeedback"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the user (or organization) who requested the porting order",
            "example": "40d68ba2-0847-4df2-be9c-b0e0cb673e75"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "https://example.com/porting_webhooks"
          },
          "record_type": {
            "type": "string",
            "example": "porting_order",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "messaging": {
            "$ref": "#/components/schemas/PortingOrderMessaging"
          },
          "additional_steps": {
            "type": "array",
            "description": "For specific porting orders, we may require additional steps to be taken before submitting the porting order.",
            "items": {
              "type": "string",
              "enum": [
                "associated_phone_numbers",
                "phone_number_verification_codes"
              ]
            }
          }
        }
      },
      "PortingOrderActivationSettings": {
        "type": "object",
        "properties": {
          "foc_datetime_requested": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted Date/Time requested for the FOC date",
            "example": "2021-03-19T10:07:15.527Z"
          },
          "foc_datetime_actual": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 formatted Date/Time of the FOC date",
            "example": "2021-03-19T10:07:15.527Z"
          },
          "fast_port_eligible": {
            "type": "boolean",
            "readOnly": true,
            "description": "Indicates whether this porting order is eligible for FastPort",
            "example": true
          },
          "activation_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PortingOrderActivationStatus"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "PortingOrderActivationStatus": {
        "type": "string",
        "description": "Activation status",
        "enum": [
          "New",
          "Pending",
          "Conflict",
          "Cancel Pending",
          "Failed",
          "Concurred",
          "Activate RDY",
          "Disconnect Pending",
          "Concurrence Sent",
          "Old",
          "Sending",
          "Active",
          "Cancelled"
        ],
        "example": "Active"
      },
      "PortingOrderDocuments": {
        "type": "object",
        "description": "Can be specified directly or via the `requirement_group_id` parameter.",
        "properties": {
          "loa": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "Returned ID of the submitted LOA via the Documents endpoint",
            "example": "64ffb720-04c7-455b-92d6-20fcca92e935"
          },
          "invoice": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "Returned ID of the submitted Invoice via the Documents endpoint",
            "example": "ce74b771-d23d-4960-81ec-8741b3862146"
          }
        }
      },
      "PortingOrderEndUser": {
        "type": "object",
        "properties": {
          "admin": {
            "$ref": "#/components/schemas/PortingOrderEndUserAdmin"
          },
          "location": {
            "$ref": "#/components/schemas/PortingOrderEndUserLocation"
          }
        }
      },
      "PortingOrderEndUserAdmin": {
        "type": "object",
        "properties": {
          "entity_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Person Name or Company name requesting the port",
            "example": "Porter McPortersen"
          },
          "auth_person_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Name of person authorizing the porting order",
            "example": "Porter McPortersen II"
          },
          "billing_phone_number": {
            "type": [
              "string",
              "null"
            ],
            "description": "Billing phone number associated with these phone numbers",
            "example": "13035551234"
          },
          "account_number": {
            "type": [
              "string",
              "null"
            ],
            "description": "The authorized person's account number with the current service provider",
            "example": "123abc"
          },
          "tax_identifier": {
            "type": [
              "string",
              "null"
            ],
            "description": "European tax identification number. Applicable only in the European Union",
            "example": "1234abcd"
          },
          "pin_passcode": {
            "type": [
              "string",
              "null"
            ],
            "description": "PIN/passcode possibly required by the old service provider for extra verification",
            "example": "1234"
          },
          "business_identifier": {
            "type": [
              "string",
              "null"
            ],
            "description": "European business identification number. Applicable only in the European Union",
            "example": "abc123"
          }
        }
      },
      "PortingOrderEndUserLocation": {
        "type": "object",
        "properties": {
          "street_address": {
            "type": [
              "string",
              "null"
            ],
            "description": "First line of billing address",
            "example": "600 Congress Avenue"
          },
          "extended_address": {
            "type": [
              "string",
              "null"
            ],
            "description": "Second line of billing address",
            "example": "14th Floor"
          },
          "locality": {
            "type": [
              "string",
              "null"
            ],
            "description": "City or municipality of billing address",
            "example": "Austin"
          },
          "administrative_area": {
            "type": [
              "string",
              "null"
            ],
            "description": "State, province, or similar of billing address",
            "example": "TX"
          },
          "postal_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Postal Code of billing address",
            "example": "78701"
          },
          "country_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO3166-1 alpha-2 country code of billing address",
            "example": "US"
          }
        }
      },
      "PortingOrderMessaging": {
        "type": "object",
        "description": "Information about messaging porting process.",
        "properties": {
          "messaging_capable": {
            "type": "boolean",
            "description": "Indicates whether the porting order can also port messaging capabilities.",
            "example": true
          },
          "enable_messaging": {
            "type": "boolean",
            "description": "Indicates whether Telnyx will port messaging capabilities from the losing carrier. If false, any messaging capabilities will stay with their current provider.",
            "example": true
          },
          "messaging_port_status": {
            "type": "string",
            "description": "The current status of the messaging porting.",
            "enum": [
              "not_applicable",
              "pending",
              "activating",
              "exception",
              "canceled",
              "partial_port_complete",
              "ported"
            ],
            "example": "pending"
          },
          "messaging_port_completed": {
            "type": "boolean",
            "description": "Indicates whether the messaging porting has been completed.",
            "example": false
          }
        }
      },
      "PortingOrderMisc": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PortingOrderType"
          },
          "remaining_numbers_action": {
            "type": [
              "string",
              "null"
            ],
            "description": "Remaining numbers can be either kept with their current service provider or disconnected. 'new_billing_telephone_number' is required when 'remaining_numbers_action' is 'keep'.",
            "enum": [
              "keep",
              "disconnect",
              null
            ],
            "example": "disconnect"
          },
          "new_billing_phone_number": {
            "type": [
              "string",
              "null"
            ],
            "description": "New billing phone number for the remaining numbers. Used in case the current billing phone number is being ported to Telnyx. This will be set on your account with your current service provider and should be one of the numbers remaining on that account."
          }
        }
      },
      "PortingOrderPhoneNumberConfiguration": {
        "type": "object",
        "properties": {
          "billing_group_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "identifies the billing group to set on the numbers when ported",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "connection_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "identifies the connection to set on the numbers when ported",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "identifies the messaging profile to set on the numbers when ported",
            "example": "f1486bae-f067-460c-ad43-73a92848f901"
          },
          "emergency_address_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "identifies the emergency address to set on the numbers when ported",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Tag to set on the numbers when ported"
            },
            "example": [
              "abc",
              "123"
            ]
          }
        }
      },
      "PortingOrderRequirement": {
        "type": "object",
        "properties": {
          "field_type": {
            "type": "string",
            "description": "Type of value expected on field_value field",
            "enum": [
              "document"
            ],
            "example": "document"
          },
          "field_value": {
            "type": "string",
            "description": "identifies the document that satisfies this requirement",
            "example": "9787fb5f-cbe5-4de4-b765-3303774ee9fe"
          },
          "requirement_type_id": {
            "type": "string",
            "description": "Identifies the requirement type that meets this requirement",
            "example": "59b0762a-b274-4f76-ac32-4d5cf0272e66"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "porting_requirement"
          }
        }
      },
      "PortingOrderRequirementDetail": {
        "type": "object",
        "properties": {
          "field_type": {
            "type": "string",
            "description": "Type of value expected on field_value field",
            "enum": [
              "document",
              "textual"
            ],
            "example": "document"
          },
          "field_value": {
            "type": "string",
            "description": "Identifies the document that satisfies this requirement",
            "example": "9787fb5f-cbe5-4de4-b765-3303774ee9fe"
          },
          "requirement_type": {
            "type": "object",
            "description": "Identifies the requirement type that meets this requirement",
            "properties": {
              "acceptance_criteria": {
                "type": "object",
                "description": "The acceptance criteria for the requirement type",
                "example": {
                  "acceptable_values": []
                },
                "additionalProperties": true
              },
              "description": {
                "type": "string",
                "description": "A description of the requirement type",
                "example": "A copy of the latest phone bill from the current provider"
              },
              "example": {
                "type": "string",
                "description": "An example of the requirement type",
                "example": "Most recent phone bill"
              },
              "id": {
                "type": "string",
                "description": "Identifies the requirement type",
                "example": "53970723-fbff-4f46-a975-f62be6c1a585"
              },
              "name": {
                "type": "string",
                "description": "The name of the requirement type",
                "example": "Latest Invoice"
              },
              "type": {
                "type": "string",
                "description": "The type of the requirement type",
                "example": "document"
              }
            }
          },
          "requirement_status": {
            "type": "string",
            "description": "Status of the requirement",
            "example": "approved"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "porting_requirement"
          }
        }
      },
      "PortingOrderSharingToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies this sharing token",
            "format": "uuid",
            "example": "0a4b78a0-d416-4761-94f7-46c72ec56547"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the porting order resource being shared",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "expires_in_seconds": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of seconds until the sharing token expires",
            "example": 3600
          },
          "permissions": {
            "type": "array",
            "description": "The permissions granted to the sharing token",
            "items": {
              "type": "string",
              "enum": [
                "porting_order.document.read",
                "porting_order.document.update"
              ]
            },
            "example": [
              "porting_order.document.read",
              "porting_order.document.update"
            ]
          },
          "token": {
            "type": "string",
            "description": "A signed JWT token that can be used to access the shared resource",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODk4OTQ2NzcsImlzdCI6MTY4OTg5MTA3NywicGVybWlzc2lvbnMiOlsicG9ydGluZ19vcmRlci5kb2N1bWVudC5yZWFkIl0sInBvcnRpbmdfb3JkZXJfaWQiOiJmZDRiODZjOC00OTdkLTRjNmQtOTYwOS1hNzg5ZTRlMTRjZmUifQ.CT0HRF6OLj7VPZ8p5Y_0S8rOL8SEUznwJJkR-YReKwc"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the sharing token expires.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "record_type": {
            "type": "string",
            "example": "porting_order_sharing_token",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingOrderStatus": {
        "type": "object",
        "description": "Porting order status",
        "properties": {
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortingOrdersExceptionType"
            },
            "description": "A list of 0 or more details about this porting order's status"
          },
          "value": {
            "type": "string",
            "description": "The current status of the porting order",
            "example": "ported",
            "enum": [
              "draft",
              "in-process",
              "submitted",
              "exception",
              "foc-date-confirmed",
              "ported",
              "cancelled",
              "cancel-pending"
            ]
          }
        }
      },
      "PortingOrderType": {
        "type": "string",
        "description": "A port can be either 'full' or 'partial'. When type is 'full' the other attributes should be omitted.",
        "enum": [
          "full",
          "partial"
        ],
        "example": "full"
      },
      "PortingOrderUserFeedback": {
        "type": "object",
        "properties": {
          "user_rating": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Once an order is ported, cancellation is requested or the request is cancelled, the user may rate their experience",
            "example": 5
          },
          "user_comment": {
            "type": [
              "string",
              "null"
            ],
            "description": "A comment related to the customer rating.",
            "example": "I loved my experience porting numbers with Telnyx"
          }
        }
      },
      "PortingOrdersActivationJob": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this activation job",
            "type": "string",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Specifies the status of this activation job",
            "enum": [
              "created",
              "in-process",
              "completed",
              "failed"
            ]
          },
          "activation_type": {
            "type": "string",
            "description": "Specifies the type of this activation job",
            "enum": [
              "scheduled",
              "on-demand"
            ]
          },
          "activate_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the activation job should be executed. This time should be between some activation window.",
            "example": "2021-03-19T10:07:15.527Z"
          },
          "activation_windows": {
            "type": "array",
            "description": "List of allowed activation windows for this activation job",
            "items": {
              "type": "object",
              "properties": {
                "start_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 formatted date indicating when the activation window starts",
                  "example": "2021-03-19T10:07:15.527Z"
                },
                "end_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 formatted date indicating when the activation window ends",
                  "example": "2021-03-19T10:07:15.527Z"
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_activation_job",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          }
        }
      },
      "PortingOrdersAllowedFocWindow": {
        "type": "object",
        "title": "PortingOrdersAllowedFocWindow",
        "properties": {
          "started_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating the start of the range of foc window.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "ended_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating the end of the range of foc window",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "porting_order",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          }
        }
      },
      "PortingOrdersComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "body": {
            "type": "string",
            "description": "Body of comment",
            "example": "Great experience so far"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "user_type": {
            "type": "string",
            "description": "Indicates whether this comment was created by a Telnyx Admin, user, or system",
            "enum": [
              "admin",
              "user",
              "system"
            ],
            "example": "user"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "porting_comment"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z"
          }
        }
      },
      "PortingOrdersExceptionType": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Identifier of an exception type",
            "enum": [
              "ACCOUNT_NUMBER_MISMATCH",
              "AUTH_PERSON_MISMATCH",
              "BTN_ATN_MISMATCH",
              "ENTITY_NAME_MISMATCH",
              "FOC_EXPIRED",
              "FOC_REJECTED",
              "LOCATION_MISMATCH",
              "LSR_PENDING",
              "MAIN_BTN_PORTING",
              "OSP_IRRESPONSIVE",
              "OTHER",
              "PASSCODE_PIN_INVALID",
              "PHONE_NUMBER_HAS_SPECIAL_FEATURE",
              "PHONE_NUMBER_MISMATCH",
              "PHONE_NUMBER_NOT_PORTABLE",
              "PORT_TYPE_INCORRECT",
              "PORTING_ORDER_SPLIT_REQUIRED",
              "POSTAL_CODE_MISMATCH",
              "RATE_CENTER_NOT_PORTABLE",
              "SV_CONFLICT",
              "SV_UNKNOWN_FAILURE"
            ],
            "example": "ENTITY_NAME_MISMATCH"
          },
          "description": {
            "type": "string",
            "description": "Description of an exception type",
            "example": "Entity name does not match that on the CSR"
          }
        }
      },
      "PortingPhoneNumber": {
        "type": "object",
        "properties": {
          "porting_order_status": {
            "type": "string",
            "description": "The current status of the porting order",
            "enum": [
              "draft",
              "in-process",
              "submitted",
              "exception",
              "foc-date-confirmed",
              "cancel-pending",
              "ported",
              "cancelled"
            ],
            "example": "in-process"
          },
          "phone_number_type": {
            "type": "string",
            "description": "The type of the phone number",
            "enum": [
              "landline",
              "local",
              "mobile",
              "national",
              "shared_cost",
              "toll_free"
            ],
            "example": "local"
          },
          "phone_number": {
            "type": "string",
            "description": "E164 formatted phone number",
            "example": "13035550987"
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated port request",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "support_key": {
            "type": "string",
            "description": "A key to reference this porting order when contacting Telnyx customer support",
            "example": "sr_a12345"
          },
          "activation_status": {
            "$ref": "#/components/schemas/PortingOrderActivationStatus"
          },
          "portability_status": {
            "$ref": "#/components/schemas/PortabilityStatus"
          },
          "requirements_status": {
            "type": "string",
            "description": "The current status of the requirements in a INTL porting order",
            "enum": [
              "requirement-info-pending",
              "requirement-info-under-review",
              "requirement-info-exception",
              "approved"
            ],
            "example": "approved"
          },
          "record_type": {
            "type": "string",
            "example": "porting_phone_number",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          }
        }
      },
      "PortingPhoneNumberBlock": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this porting phone number block.",
            "type": "string",
            "format": "uuid",
            "example": "f24151b6-3389-41d3-8747-7dd8c681e5e2",
            "readOnly": true
          },
          "country_code": {
            "description": "Specifies the country code for this porting phone number block. It is a two-letter ISO 3166-1 alpha-2 country code.",
            "type": "string",
            "example": "DE"
          },
          "phone_number_type": {
            "description": "Specifies the phone number type for this porting phone number block.",
            "type": "string",
            "example": "local",
            "enum": [
              "landline",
              "local",
              "mobile",
              "national",
              "shared_cost",
              "toll_free"
            ]
          },
          "phone_number_range": {
            "description": "Specifies the phone number range for this porting phone number block.",
            "type": "object",
            "properties": {
              "start_at": {
                "description": "Specifies the start of the phone number range for this porting phone number block.",
                "type": "string",
                "pattern": "^\\+\\d{7,15}$",
                "example": "+4930244999901"
              },
              "end_at": {
                "description": "Specifies the end of the phone number range for this porting phone number block.",
                "type": "string",
                "pattern": "^\\+\\d{7,15}$",
                "example": "+4930244999910"
              }
            }
          },
          "activation_ranges": {
            "description": "Specifies the activation ranges for this porting phone number block. The activation range must be within the phone number range and should not overlap with other activation ranges.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start_at": {
                  "description": "Specifies the start of the activation range. Must be greater or equal the start of the phone number range.",
                  "type": "string",
                  "pattern": "^\\+\\d{7,15}$",
                  "example": "+4930244999901"
                },
                "end_at": {
                  "description": "Specifies the end of the activation range. It must be no more than the end of the phone number range.",
                  "type": "string",
                  "pattern": "^\\+\\d{7,15}$",
                  "example": "+4930244999910"
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_phone_number_block",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was last updated.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          }
        }
      },
      "PortingPhoneNumberConfiguration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies this phone number configuration",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "user_bundle_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated user bundle",
            "example": "daa4308e-742f-4867-97f2-3073db13319a"
          },
          "porting_phone_number_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated porting phone number",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "record_type": {
            "type": "string",
            "example": "porting_phone_number_configuration",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingPhoneNumberExtension": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Uniquely identifies this porting phone number extension.",
            "type": "string",
            "format": "uuid",
            "example": "f24151b6-3389-41d3-8747-7dd8c681e5e2",
            "readOnly": true
          },
          "porting_phone_number_id": {
            "description": "Identifies the porting phone number associated with this porting phone number extension.",
            "type": "string",
            "format": "uuid",
            "example": "f24151b6-3389-41d3-8747-7dd8c681e5e2"
          },
          "extension_range": {
            "description": "Specifies the extension range for this porting phone number extension.",
            "type": "object",
            "properties": {
              "start_at": {
                "description": "Specifies the start of the extension range for this porting phone number extension.",
                "type": "integer",
                "example": 1
              },
              "end_at": {
                "description": "Specifies the end of the extension range for this porting phone number extension.",
                "type": "integer",
                "example": 10
              }
            }
          },
          "activation_ranges": {
            "description": "Specifies the activation ranges for this porting phone number extension. The activation range must be within the extension range and should not overlap with other activation ranges.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start_at": {
                  "description": "Specifies the start of the activation range. Must be greater or equal the start of the extension range.",
                  "type": "integer",
                  "example": 1
                },
                "end_at": {
                  "description": "Specifies the end of the activation range. It must be no more than the end of the extension range.",
                  "type": "integer",
                  "example": 10
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_phone_number_extension",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was last updated.",
            "example": "2021-03-19T10:07:15.527Z",
            "readOnly": true
          }
        }
      },
      "PortingReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the report.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "report_type": {
            "type": "string",
            "description": "Identifies the type of report",
            "enum": [
              "export_porting_orders_csv"
            ],
            "example": "export_porting_orders_csv"
          },
          "status": {
            "type": "string",
            "description": "The current status of the report generation.",
            "enum": [
              "pending",
              "completed"
            ],
            "example": "completed"
          },
          "params": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExportPortingOrdersCSVReport"
              }
            ]
          },
          "document_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the document that was uploaded when report was generated. This field is only populated when the report is under completed status.",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "record_type": {
            "type": "string",
            "example": "porting_report",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingUKCarrier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
            "description": "Identifies the UK carrier."
          },
          "cupid": {
            "type": "string",
            "description": "The CUPID of the carrier. This is a 3 digit number code that identifies the carrier in the UK.",
            "example": "895"
          },
          "name": {
            "type": "string",
            "description": "The name of the carrier.",
            "example": "Telnyx UK Limited"
          },
          "alternative_cupids": {
            "type": "array",
            "description": "Alternative CUPIDs of the carrier.",
            "items": {
              "type": "string",
              "description": "An alternative CUPID of the carrier.",
              "example": "895"
            }
          },
          "record_type": {
            "type": "string",
            "example": "porting_uk_carrier",
            "description": "Identifies the type of the resource."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortingVerificationCode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies this porting verification code",
            "format": "uuid",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "phone_number": {
            "type": "string",
            "description": "E164 formatted phone number",
            "example": "+13035550987"
          },
          "verified": {
            "type": "boolean",
            "description": "Indicates whether the verification code has been verified",
            "example": true
          },
          "porting_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the associated porting order",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "record_type": {
            "type": "string",
            "example": "porting_verification_code",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PortoutComment": {
        "required": [
          "id",
          "body",
          "user_id",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "portout"
          },
          "body": {
            "type": "string",
            "description": "Comment body",
            "example": "This is a comment"
          },
          "portout_id": {
            "type": "string",
            "description": "Identifies the associated port request",
            "default": null,
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "user_id": {
            "type": "string",
            "description": "Identifies the user who created the comment. Will be null if created by Telnyx Admin",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "created_at": {
            "type": "string",
            "description": "Comment creation timestamp in ISO 8601 format",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "record_type": "portout",
          "body": "This is a comment",
          "portout_id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "user_id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "created_at": "2018-02-02T22:25:27.521Z"
        },
        "type": "object"
      },
      "PortoutDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "portout"
          },
          "phone_numbers": {
            "description": "Phone numbers associated with this portout",
            "type": "array",
            "items": {
              "type": "string",
              "description": "E164 formatted phone number"
            },
            "example": [
              "+35312345678"
            ]
          },
          "authorized_name": {
            "type": "string",
            "description": "Name of person authorizing the porting order",
            "example": "McPortersen"
          },
          "carrier_name": {
            "type": "string",
            "description": "Carrier the number will be ported out to",
            "example": "test"
          },
          "current_carrier": {
            "type": "string",
            "description": "The current carrier",
            "example": "telnyx"
          },
          "end_user_name": {
            "type": "string",
            "description": "Person name or company name requesting the port",
            "example": "McPortersen"
          },
          "city": {
            "type": "string",
            "description": "City or municipality of billing address",
            "example": "Chicago"
          },
          "state": {
            "type": "string",
            "description": "State, province, or similar of billing address",
            "example": "IL"
          },
          "zip": {
            "type": "string",
            "description": "Postal Code of billing address",
            "example": "00000"
          },
          "lsr": {
            "type": "array",
            "description": "The Local Service Request",
            "items": {
              "type": "string",
              "format": "uri",
              "description": "A link to the Local Service Request"
            },
            "example": [
              "https://example.com/files/lsr.pdf"
            ]
          },
          "pon": {
            "type": "string",
            "description": "Port order number assigned by the carrier the number will be ported out to",
            "example": "00000000"
          },
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "The reason why the order is being rejected by the user. If the order is authorized, this field can be left null",
            "example": null
          },
          "rejection_code": {
            "type": "integer",
            "description": "The rejection code for one of the valid rejections to reject a port out order",
            "example": 1002
          },
          "service_address": {
            "type": "string",
            "description": "First line of billing address (street address)",
            "example": "000 Example Street"
          },
          "foc_date": {
            "type": "string",
            "description": "ISO 8601 formatted Date/Time of the FOC date",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "requested_foc_date": {
            "type": "string",
            "description": "ISO 8601 formatted Date/Time of the user requested FOC date",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "spid": {
            "type": "string",
            "description": "New service provider spid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "support_key": {
            "type": "string",
            "description": "A key to reference this port out request when contacting Telnyx customer support",
            "example": "PO_764725"
          },
          "status": {
            "type": "string",
            "description": "Status of portout request",
            "enum": [
              "pending",
              "authorized",
              "ported",
              "rejected",
              "rejected-pending",
              "canceled"
            ],
            "example": "rejected"
          },
          "already_ported": {
            "type": "boolean",
            "description": "Is true when the number is already ported",
            "example": false
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the user (or organization) who requested the port out",
            "example": "7865816a-ee85-4e50-b19e-52983dcc6d4a"
          },
          "vendor": {
            "type": "string",
            "description": "Telnyx partner providing network coverage",
            "format": "uuid",
            "example": "0e66ed3b-37e6-4fed-93d6-a30ce2493661"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the portout was created",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "inserted_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the portout was created",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the portout was last updated",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "host_messaging": {
            "type": "boolean",
            "description": "Indicates whether messaging services should be maintained with Telnyx after the port out completes",
            "default": false,
            "example": false
          }
        }
      },
      "PortoutEvent": {
        "type": "object",
        "oneOf": [
          {
            "$ref": "#/components/schemas/WebhookPortoutStatusChanged"
          },
          {
            "$ref": "#/components/schemas/WebhookPortoutNewComment"
          },
          {
            "$ref": "#/components/schemas/WebhookPortoutFocDateChanged"
          }
        ],
        "discriminator": {
          "propertyName": "event_type",
          "mapping": {
            "portout.status_changed": "#/components/schemas/WebhookPortoutStatusChanged",
            "portout.new_comment": "#/components/schemas/WebhookPortoutNewComment",
            "portout.foc_date_changed": "#/components/schemas/WebhookPortoutFocDateChanged"
          }
        }
      },
      "PortoutRejection": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "example": 1002
          },
          "description": {
            "type": "string",
            "example": "Invalid PIN"
          },
          "reason_required": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "PortoutReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the report.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "report_type": {
            "type": "string",
            "description": "Identifies the type of report",
            "enum": [
              "export_portouts_csv"
            ],
            "example": "export_portouts_csv"
          },
          "status": {
            "type": "string",
            "description": "The current status of the report generation.",
            "enum": [
              "pending",
              "completed"
            ],
            "example": "completed"
          },
          "params": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExportPortoutsCSVReport"
              }
            ]
          },
          "document_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the document that was uploaded when report was generated. This field is only populated when the report is under completed status.",
            "example": "f1486bae-f067-460c-ad43-73a92848f902"
          },
          "record_type": {
            "type": "string",
            "example": "portout_report",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "PostConversationSettings": {
        "type": "object",
        "description": "Configuration for post-conversation processing. When enabled, the assistant receives one additional LLM turn after the conversation ends, allowing it to execute tool calls such as logging to a CRM or sending a summary. The assistant can execute multiple parallel or sequential tools during this phase. Telephony-control tools (e.g. hangup, transfer) are unavailable post-conversation. Beta feature.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether post-conversation processing is enabled. When true, the assistant will be invoked after the conversation ends to perform any final tool calls. Defaults to false.",
            "default": false
          }
        }
      },
      "PostConversationSettingsReq": {
        "type": "object",
        "description": "Configuration for post-conversation processing. When enabled, the assistant receives one additional LLM turn after the conversation ends, allowing it to execute tool calls such as logging to a CRM or sending a summary. The assistant can execute multiple parallel or sequential tools during this phase. Telephony-control tools (e.g. hangup, transfer) are unavailable post-conversation. Beta feature.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether post-conversation processing is enabled. When true, the assistant will be invoked after the conversation ends to perform any final tool calls. Defaults to false.",
            "default": false
          }
        }
      },
      "PresignedObjectUrl": {
        "type": "object",
        "properties": {
          "content": {
            "type": "object",
            "properties": {
              "token": {
                "type": "string",
                "description": "The token for the object"
              },
              "presigned_url": {
                "type": "string",
                "description": "The presigned URL for the object"
              },
              "expires_at": {
                "type": "string",
                "description": "The expiration time of the token",
                "format": "date-time"
              }
            }
          }
        }
      },
      "PresignedObjectUrlParams": {
        "type": "object",
        "properties": {
          "ttl": {
            "type": "integer",
            "description": "The time to live of the token in seconds",
            "minimum": 1,
            "maximum": 604800,
            "example": 60
          }
        }
      },
      "PrivacySettings": {
        "properties": {
          "data_retention": {
            "type": "boolean",
            "description": "If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here."
          }
        },
        "type": "object"
      },
      "PrivateWirelessGateway": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "network_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identification of the related network resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "readOnly": true,
            "example": "private_wireless_gateway"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "name": {
            "description": "The private wireless gateway name.",
            "type": "string",
            "example": "My private wireless gateway"
          },
          "region_code": {
            "description": "The name of the region where the Private Wireless Gateway is deployed.",
            "type": "string",
            "example": "dc2",
            "default": null
          },
          "status": {
            "$ref": "#/components/schemas/PrivateWirelessGatewayStatus"
          },
          "ip_range": {
            "type": "string",
            "description": "IP block used to assign IPs to the SIM cards in the Private Wireless Gateway.",
            "example": "100.64.1.0/24",
            "readOnly": true,
            "default": null
          },
          "assigned_resources": {
            "type": "array",
            "description": "A list of the resources that have been assigned to the Private Wireless Gateway.",
            "items": {
              "$ref": "#/components/schemas/PWGAssignedResourcesSummary"
            }
          }
        }
      },
      "PrivateWirelessGatewayStatus": {
        "type": "object",
        "description": "The current status or failure details of the Private Wireless Gateway.",
        "properties": {
          "value": {
            "type": "string",
            "description": "The current status or failure details of the Private Wireless Gateway. <ul>\n <li><code>provisioning</code> - the Private Wireless Gateway is being provisioned.</li>\n <li><code>provisioned</code> - the Private Wireless Gateway was provisioned and able to receive connections.</li>\n <li><code>failed</code> - the provisioning had failed for a reason and it requires an intervention.</li>\n <li><code>decommissioning</code> - the Private Wireless Gateway is being removed from the network.</li>\n </ul>\n Transitioning between the provisioning and provisioned states may take some time.",
            "enum": [
              "provisioning",
              "provisioned",
              "failed",
              "decommissioning"
            ],
            "readOnly": true,
            "default": "provisioning",
            "example": "provisioned"
          },
          "error_description": {
            "type": [
              "string",
              "null"
            ],
            "description": "This attribute provides a human-readable explanation of why a failure happened.",
            "readOnly": true,
            "default": null,
            "example": null
          },
          "error_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "This attribute is an [error code](https://developers.telnyx.com/development/api-fundamentals/api-errors) related to the failure reason.",
            "readOnly": true,
            "default": null,
            "example": null
          }
        }
      },
      "ProfileAssignmentPhoneNumbers": {
        "title": "ProfileAssignmentPhoneNumbers",
        "required": [
          "taskId",
          "phoneNumber",
          "status"
        ],
        "type": "object",
        "properties": {
          "taskId": {
            "title": "Taskid",
            "type": "string",
            "description": "The ID of the task associated with the phone number.",
            "example": "667a80f8-b0a9-49d0-b9ab-a7a1bcc45086"
          },
          "phoneNumber": {
            "title": "Phonenumber",
            "type": "string",
            "description": "The phone number that the status is being checked for.",
            "example": "+12024567890"
          },
          "status": {
            "title": "Status",
            "type": "string",
            "description": "The status of the associated phone number assignment.",
            "example": "pending"
          }
        }
      },
      "ProfileMetrics": {
        "type": "object",
        "description": "Detailed metrics for a messaging profile.",
        "additionalProperties": true
      },
      "ProfileMetricsHighLevel": {
        "type": "object",
        "description": "High-level metrics summary for a messaging profile.",
        "additionalProperties": true
      },
      "PromptSyncStatus": {
        "type": "string",
        "enum": [
          "enabled",
          "disabled"
        ],
        "title": "PromptSyncStatus",
        "description": "Whether to auto-publish the assistant's instructions as a Langfuse prompt.\n\nWhen ENABLED + prompt_name set, every assistant create/update pushes\n`instructions` to Langfuse via create_prompt and stores the returned\nversion in prompt_version."
      },
      "PronunciationDictAliasItem": {
        "type": "object",
        "description": "An alias pronunciation item. When the `text` value is found in input, it is replaced with the `alias` before speech synthesis.",
        "required": [
          "text",
          "type",
          "alias"
        ],
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "description": "The text to match in the input. Case-insensitive matching is used during synthesis.",
            "minLength": 1,
            "maxLength": 200,
            "example": "Telnyx"
          },
          "type": {
            "type": "string",
            "description": "The item type.",
            "enum": [
              "alias"
            ],
            "example": "alias"
          },
          "alias": {
            "type": "string",
            "description": "The replacement text that will be spoken instead.",
            "minLength": 1,
            "maxLength": 500,
            "example": "tel-nicks"
          }
        }
      },
      "PronunciationDictData": {
        "type": "object",
        "description": "A pronunciation dictionary record.",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Identifies the resource type.",
            "enum": [
              "pronunciation_dict"
            ],
            "example": "pronunciation_dict"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the pronunciation dictionary.",
            "example": "c215a3e1-be41-4701-97e8-1d3c22f9a5b7"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the dictionary. Must be unique within the organization.",
            "example": "Brand Names"
          },
          "items": {
            "type": "array",
            "description": "List of pronunciation items (alias or phoneme type).",
            "items": {
              "$ref": "#/components/schemas/PronunciationDictItem"
            }
          },
          "version": {
            "type": "integer",
            "description": "Auto-incrementing version number. Increases by 1 on each update. Used for optimistic concurrency control and cache invalidation.",
            "example": 1
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp with millisecond precision.",
            "example": "2026-03-25T12:00:00.000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp with millisecond precision.",
            "example": "2026-03-25T12:00:00.000Z"
          }
        }
      },
      "PronunciationDictItem": {
        "description": "A single pronunciation dictionary item. Use type 'alias' to replace matched text with a spoken alias, or type 'phoneme' to specify exact pronunciation using IPA notation.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/PronunciationDictAliasItem"
          },
          {
            "$ref": "#/components/schemas/PronunciationDictPhonemeItem"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "alias": "#/components/schemas/PronunciationDictAliasItem",
            "phoneme": "#/components/schemas/PronunciationDictPhonemeItem"
          }
        }
      },
      "PronunciationDictListResponse": {
        "type": "object",
        "description": "Paginated list of pronunciation dictionaries.",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PronunciationDictData"
            },
            "description": "Array of pronunciation dictionary objects."
          },
          "meta": {
            "$ref": "#/components/schemas/pronunciation-dicts_PaginationMeta"
          }
        }
      },
      "PronunciationDictPhonemeItem": {
        "type": "object",
        "description": "A phoneme pronunciation item. When the `text` value is found in input, it is pronounced using the specified IPA phoneme notation.",
        "required": [
          "text",
          "type",
          "phoneme",
          "alphabet"
        ],
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "description": "The text to match in the input. Case-insensitive matching is used during synthesis.",
            "minLength": 1,
            "maxLength": 200,
            "example": "Telnyx"
          },
          "type": {
            "type": "string",
            "description": "The item type.",
            "enum": [
              "phoneme"
            ],
            "example": "phoneme"
          },
          "phoneme": {
            "type": "string",
            "description": "The phoneme notation representing the desired pronunciation.",
            "minLength": 1,
            "maxLength": 500,
            "example": "ˈtɛl.nɪks"
          },
          "alphabet": {
            "type": "string",
            "description": "The phonetic alphabet used for the phoneme notation.",
            "enum": [
              "ipa"
            ],
            "example": "ipa"
          }
        }
      },
      "PronunciationDictResponse": {
        "type": "object",
        "description": "Response containing a single pronunciation dictionary.",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/PronunciationDictData"
          }
        }
      },
      "PublicInternetGateway": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "$ref": "#/components/schemas/Interface"
          },
          {
            "type": "object",
            "title": "PublicInternetGateway",
            "properties": {
              "region_code": {
                "description": "The region interface is deployed to.",
                "type": "string",
                "example": "ashburn-va"
              },
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "public_internet_gateway"
              },
              "public_ip": {
                "description": "The publically accessible ip for this interface.",
                "type": "string",
                "example": "127.0.0.1",
                "readOnly": true
              }
            }
          }
        ]
      },
      "PublicInternetGatewayCreate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PublicInternetGateway"
          },
          {
            "type": "object",
            "title": "PublicInternetGatewayCreate"
          }
        ]
      },
      "PublicInternetGatewayRead": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PublicInternetGateway"
          }
        ]
      },
      "PublicTextClusteringRequest": {
        "properties": {
          "bucket": {
            "type": "string",
            "description": "The embedded storage bucket to compute the clusters from. The bucket must already be [embedded](https://developers.telnyx.com/api-reference/embeddings/embed-documents)."
          },
          "prefix": {
            "type": "string",
            "description": "Prefix to filter whcih files in the buckets are included."
          },
          "files": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Array of files to filter which are included."
          },
          "min_cluster_size": {
            "type": "integer",
            "description": "Smallest number of related text chunks to qualify as a cluster. Top-level clusters should be thought of as identifying broad themes in your data.",
            "default": 25
          },
          "min_subcluster_size": {
            "type": "integer",
            "description": "Smallest number of related text chunks to qualify as a sub-cluster. Sub-clusters should be thought of as identifying more specific topics within a broader theme.",
            "default": 5
          }
        },
        "type": "object",
        "required": [
          "bucket"
        ],
        "title": "PublicTextClusteringRequest"
      },
      "PushCredential": {
        "type": "object",
        "title": "Successful response with details about a push credential",
        "required": [
          "id",
          "certificate",
          "private_key",
          "project_account_json_file",
          "alias",
          "type",
          "record_type",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of a push credential",
            "type": "string",
            "example": "0ccc7b54-4df3-4bcb-a65a-3da1ecc997d7"
          },
          "certificate": {
            "description": "Apple certificate for sending push notifications. For iOS only",
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----"
          },
          "private_key": {
            "description": "Apple private key for a given certificate for sending push notifications. For iOS only",
            "type": "string",
            "example": "-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----"
          },
          "project_account_json_file": {
            "description": "Google server key for sending push notifications. For Android only",
            "type": "object",
            "example": {
              "private_key": "BBBB0J56jd8kda:APA91vjb11BCjvxx3Jxja...",
              "client_email": "account@customer.org"
            },
            "additionalProperties": true
          },
          "alias": {
            "description": "Alias to uniquely identify a credential",
            "type": "string",
            "example": "LucyCredential"
          },
          "type": {
            "description": "Type of mobile push credential. Either <code>ios</code> or <code>android</code>",
            "type": "string",
            "example": "ios"
          },
          "record_type": {
            "type": "string",
            "example": "push_credential",
            "readOnly": true
          },
          "created_at": {
            "description": "ISO 8601 timestamp when the room was created",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the room was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          }
        }
      },
      "PushCredentialResponse": {
        "description": "Success response with details about a push credential",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/PushCredential"
          }
        },
        "type": "object"
      },
      "Quality": {
        "description": "The quality of the fax. The `ultra` settings provides the highest quality available, but also present longer fax processing times. `ultra_light` is best suited for images, wihle `ultra_dark` is best suited for text.",
        "type": "string",
        "example": "high",
        "default": "high",
        "enum": [
          "normal",
          "high",
          "very_high",
          "ultra_light",
          "ultra_dark"
        ]
      },
      "QueryParameterInfo": {
        "type": "object",
        "required": [
          "type",
          "default",
          "description"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "default": {
            "type": "string"
          },
          "min": {
            "type": [
              "integer",
              "null"
            ]
          },
          "max": {
            "type": [
              "integer",
              "null"
            ]
          },
          "enum_values": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string"
          }
        }
      },
      "Queue": {
        "type": "object",
        "title": "Queue",
        "required": [
          "record_type",
          "id",
          "name",
          "current_size",
          "max_size",
          "average_wait_time_secs",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "queue"
            ],
            "example": "queue"
          },
          "id": {
            "type": "string",
            "description": "Uniquely identifies the queue",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "name": {
            "type": "string",
            "description": "Name of the queue",
            "example": "support"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the queue was created",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the queue was last updated",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "current_size": {
            "type": "integer",
            "description": "The number of calls currently in the queue",
            "example": 20
          },
          "max_size": {
            "type": "integer",
            "description": "The maximum number of calls allowed in the queue",
            "example": 50
          },
          "average_wait_time_secs": {
            "type": "integer",
            "description": "The average time that the calls currently in the queue have spent waiting, given in seconds.",
            "example": 175
          }
        },
        "example": {
          "record_type": "queue",
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "name": "support",
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z",
          "current_size": 20,
          "max_size": 50,
          "average_wait_time_secs": 175
        }
      },
      "QueueCall": {
        "type": "object",
        "title": "QueueCall",
        "required": [
          "call_control_id",
          "call_leg_id",
          "call_session_id",
          "is_alive",
          "record_type",
          "connection_id",
          "from",
          "to",
          "enqueued_at",
          "wait_time_secs",
          "queue_position",
          "queue_id"
        ],
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "call_leg_id": "2dc6fc34-f9e0-11ea-b68e-02420a0f7768",
          "call_session_id": "2dc1b3c8-f9e0-11ea-bc5a-02420a0f7768",
          "record_type": "queue_call",
          "connection_id": "7267xxxxxxxxxxxxxx",
          "from": "+18005550101",
          "to": "+18005550102",
          "enqueued_at": "2019-01-23T18:10:02.574Z",
          "wait_time_secs": 145,
          "queue_position": 3,
          "queue_id": "ae1626cc-6f42-11ea-becd-02420a0f8b69",
          "is_alive": true
        },
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "queue_call"
            ],
            "example": "queue_call"
          },
          "call_session_id": {
            "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b68e-5013ef9657c1"
          },
          "call_leg_id": {
            "description": "ID that is unique to the call and can be used to correlate webhook events",
            "type": "string",
            "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1"
          },
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call.",
            "type": "string",
            "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
          },
          "connection_id": {
            "type": "string",
            "example": "7267xxxxxxxxxxxxxx",
            "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
          },
          "from": {
            "type": "string",
            "example": "+35319605860",
            "description": "Number or SIP URI placing the call."
          },
          "to": {
            "type": "string",
            "example": "+13129457420",
            "description": "Destination number or SIP URI of the call."
          },
          "enqueued_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the call was put in the queue",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "wait_time_secs": {
            "type": "integer",
            "description": "The time the call has been waiting in the queue, given in seconds",
            "example": 272
          },
          "queue_position": {
            "type": "integer",
            "description": "Current position of the call in the queue",
            "example": 3
          },
          "queue_id": {
            "type": "string",
            "description": "Unique identifier of the queue the call is in.",
            "example": "ae1626cc-6f42-11ea-becd-02420a0f8b69"
          },
          "is_alive": {
            "type": "boolean",
            "description": "Indicates whether the call is still active in the queue.",
            "example": true
          }
        }
      },
      "QueueResource": {
        "type": "object",
        "title": "Queue resource",
        "example": {
          "account_sid": "4e71926f-8f13-450e-b91c-23c2ef786aa6",
          "average_wait_time": 30,
          "current_size": 3,
          "date_created": "Fri, 27 Oct 2023 07:41:58 +0000",
          "date_updated": "Fri, 27 Oct 2023 07:41:58 +0000",
          "max_size": 10,
          "sid": "my-queue",
          "uri": "/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Queues/my-queue.json",
          "subresource_uris": {
            "members": "/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Queues/my-queue/Members.json"
          }
        },
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "4e71926f-8f13-450e-b91c-23c2ef786aa6"
          },
          "average_wait_time": {
            "type": "integer",
            "description": "The average wait time in seconds for members in the queue.",
            "example": 30
          },
          "current_size": {
            "type": "integer",
            "description": "The current number of members in the queue.",
            "example": 3
          },
          "date_created": {
            "type": "string",
            "description": "The timestamp of when the resource was created.",
            "example": "Fri, 27 Oct 2023 07:41:58 +0000"
          },
          "date_updated": {
            "type": "string",
            "description": "The timestamp of when the resource was last updated.",
            "example": "Fri, 27 Oct 2023 07:41:58 +0000"
          },
          "max_size": {
            "type": "integer",
            "description": "The maximum size of the queue.",
            "example": 10
          },
          "sid": {
            "type": "string",
            "description": "The unique identifier of the queue.",
            "example": "my-queue"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this queue.",
            "example": "/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Queues/my-queue.json"
          },
          "subresource_uris": {
            "type": "object",
            "description": "A list of related resources identified by their relative URIs.",
            "example": {
              "members": "/Accounts/4e71926f-8f13-450e-b91c-23c2ef786aa6/Queues/my-queue/Members.json"
            },
            "additionalProperties": true
          }
        }
      },
      "QueueResourceIndex": {
        "type": "object",
        "title": "Multiple queue resources",
        "example": {
          "queues": [],
          "end": 0,
          "first_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=0&PageSize=1",
          "next_page_uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
          "page": 0,
          "page_size": 1,
          "start": 0,
          "uri": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=0&PageSize=1"
        },
        "properties": {
          "queues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueueResource"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=0&PageSize=1",
            "example": "accepted"
          },
          "next_page_uri": {
            "type": "string",
            "description": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=1&PageSize=1&PageToken=MTY4AjgyNDkwNzIxMQ",
            "example": "accepted"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Queues.json?Page=0&PageSize=1"
          }
        }
      },
      "RCSAction": {
        "type": "object",
        "description": "When tapped, initiates the corresponding native action on the device.",
        "properties": {
          "text": {
            "type": "string",
            "description": "Text that is shown in the suggested action. Maximum 25 characters.",
            "example": "Hello world"
          },
          "postback_data": {
            "type": "string",
            "description": "Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters."
          },
          "fallback_url": {
            "type": "string",
            "description": "Fallback URL to use if a client doesn't support a suggested action. Fallback URLs open in new browser windows. Maximum 2048 characters.",
            "format": "url"
          },
          "dial_action": {
            "$ref": "#/components/schemas/RCSDialAction"
          },
          "view_location_action": {
            "$ref": "#/components/schemas/RCSViewLocationAction"
          },
          "create_calendar_event_action": {
            "$ref": "#/components/schemas/RCSCreateCalendarEventAction"
          },
          "open_url_action": {
            "$ref": "#/components/schemas/RCSOpenUrlAction"
          },
          "share_location_action": {
            "$ref": "#/components/schemas/RCSShareLocationAction"
          }
        }
      },
      "RCSAgent": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "description": "RCS Agent ID",
            "example": "TestAgent"
          },
          "user_id": {
            "type": "string",
            "description": "User ID associated with the RCS Agent",
            "example": "2ecf295b-36c6-4d43-ad05-71eb1e560518"
          },
          "profile_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "Messaging profile ID associated with the RCS Agent",
            "example": "4001932a-b8a3-42fc-9389-021be6388909"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "URL to receive RCS events",
            "example": "http://example.com"
          },
          "webhook_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "Failover URL to receive RCS events",
            "example": "http://example.com"
          },
          "agent_name": {
            "type": "string",
            "description": "Human readable agent name",
            "example": "Test Agent"
          },
          "enabled": {
            "type": "boolean",
            "description": "Specifies whether the agent is enabled",
            "example": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the resource was created",
            "example": "2024-01-01T12:00:00.000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Date and time when the resource was updated",
            "example": "2024-01-01T12:00:00.000Z"
          }
        }
      },
      "RCSAgentMessage": {
        "type": "object",
        "properties": {
          "content_message": {
            "$ref": "#/components/schemas/RCSContentMessage"
          },
          "event": {
            "$ref": "#/components/schemas/RCSEvent"
          },
          "expire_time": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp in UTC of when this message is considered expired",
            "example": "2024-10-02T15:01:23Z"
          },
          "ttl": {
            "type": "string",
            "description": "Duration in seconds ending with 's'",
            "example": "10.5s"
          }
        }
      },
      "RCSAgentResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RCSAgent"
          }
        }
      },
      "RCSAgentUpdate": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "Messaging profile ID associated with the RCS Agent",
            "example": "4001932a-b8a3-42fc-9389-021be6388909"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "URL to receive RCS events",
            "example": "http://example.com"
          },
          "webhook_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "Failover URL to receive RCS events",
            "example": "http://example.com"
          }
        }
      },
      "RCSAgentsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RCSAgent"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/messaging_PaginationMeta"
          }
        }
      },
      "RCSCapabilitiesBulk": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RCSCapabilitiesInternal"
            }
          }
        }
      },
      "RCSCapabilitiesInternal": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "rcs.capabilities",
            "enum": [
              "rcs.capabilities"
            ],
            "description": "Identifies the type of the resource"
          },
          "phone_number": {
            "type": "string",
            "example": "+13125551234",
            "description": "Phone number"
          },
          "agent_id": {
            "type": "string",
            "example": "TestAgent",
            "description": "RCS agent ID"
          },
          "agent_name": {
            "type": "string",
            "example": "Testing agent",
            "description": "RCS agent name"
          },
          "features": {
            "type": "array",
            "description": "List of RCS capabilities",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RCSCapabilitiesSingle": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RCSCapabilitiesInternal"
          }
        }
      },
      "RCSCapabilityListRequest": {
        "type": "object",
        "required": [
          "agent_id",
          "phone_numbers"
        ],
        "properties": {
          "agent_id": {
            "type": "string",
            "description": "RCS Agent ID",
            "example": "TestAgent"
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "+13125551234"
            },
            "description": "List of phone numbers to check"
          }
        }
      },
      "RCSCardContent": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the card (at most 200 characters)",
            "example": "Elephant"
          },
          "description": {
            "type": "string",
            "description": "Description of the card (at most 2000 characters)"
          },
          "media": {
            "$ref": "#/components/schemas/RCSMedia"
          },
          "suggestions": {
            "type": "array",
            "description": "List of suggestions to include in the card. Maximum 10 suggestions.",
            "items": {
              "$ref": "#/components/schemas/RCSSuggestion"
            }
          }
        }
      },
      "RCSCarouselCard": {
        "required": [
          "card_width",
          "card_contents"
        ],
        "type": "object",
        "description": "Carousel of cards.",
        "properties": {
          "card_width": {
            "type": "string",
            "example": "SMALL",
            "description": "The width of the cards in the carousel.",
            "enum": [
              "CARD_WIDTH_UNSPECIFIED",
              "SMALL",
              "MEDIUM"
            ]
          },
          "card_contents": {
            "description": "The list of contents for each card in the carousel. A carousel can have a minimum of 2 cards and a maximum 10 cards.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RCSCardContent"
            }
          }
        }
      },
      "RCSContentInfo": {
        "required": [
          "file_url"
        ],
        "type": "object",
        "properties": {
          "file_url": {
            "type": "string",
            "format": "url",
            "description": "Publicly reachable URL of the file.",
            "example": "https://example.com/elephant.jpg"
          },
          "thumbnail_url": {
            "type": "string",
            "format": "url",
            "description": "Publicly reachable URL of the thumbnail. Maximum size of 100 kB."
          },
          "force_refresh": {
            "type": "boolean",
            "description": "If set the URL content will not be cached."
          }
        }
      },
      "RCSContentMessage": {
        "type": "object",
        "properties": {
          "suggestions": {
            "type": "array",
            "description": "List of suggested actions and replies",
            "items": {
              "$ref": "#/components/schemas/RCSSuggestion"
            }
          },
          "text": {
            "type": "string",
            "description": "Text (maximum 3072 characters)",
            "example": "Hello world!"
          },
          "rich_card": {
            "$ref": "#/components/schemas/RCSRichCard"
          },
          "content_info": {
            "$ref": "#/components/schemas/RCSContentInfo"
          }
        }
      },
      "RCSCreateCalendarEventAction": {
        "type": "object",
        "description": "Opens the user's default calendar app and starts the new calendar event flow with the agent-specified event data pre-filled.",
        "properties": {
          "start_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-10-02T15:01:23Z"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-10-02T15:02:31Z"
          },
          "title": {
            "type": "string",
            "description": "Event title. Maximum 100 characters."
          },
          "description": {
            "type": "string",
            "description": "Event description. Maximum 500 characters."
          }
        }
      },
      "RCSDeeplinkResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "The generated deeplink URL",
                "example": "sms:+18445550001?service_id=my_agent_id%40rbm.goog&body=hello%20world"
              }
            },
            "required": [
              "url"
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "RCSDialAction": {
        "required": [
          "phone_number"
        ],
        "type": "object",
        "description": "Opens the user's default dialer app with the agent-specified phone number filled in.",
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "Phone number in +E.164 format",
            "example": "+13125551234"
          }
        }
      },
      "RCSEvent": {
        "type": "object",
        "description": "RCS Event to send to the recipient",
        "properties": {
          "event_type": {
            "type": "string",
            "example": "IS_TYPING",
            "enum": [
              "TYPE_UNSPECIFIED",
              "IS_TYPING",
              "READ"
            ]
          }
        }
      },
      "RCSFrom": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "example": "Agent007",
            "description": "agent ID"
          },
          "carrier": {
            "type": "string",
            "example": "Telnyx"
          },
          "agent_name": {
            "type": "string",
            "example": "Test Agent"
          }
        }
      },
      "RCSLatLng": {
        "required": [
          "latitude",
          "longitude"
        ],
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
            "example": 41.8
          },
          "longitude": {
            "type": "number",
            "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
            "example": -87.6
          }
        }
      },
      "RCSMedia": {
        "type": "object",
        "description": "A media file within a rich card.",
        "properties": {
          "height": {
            "type": "string",
            "example": "MEDIUM",
            "description": "The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.",
            "enum": [
              "HEIGHT_UNSPECIFIED",
              "SHORT",
              "MEDIUM",
              "TALL"
            ]
          },
          "content_info": {
            "$ref": "#/components/schemas/RCSContentInfo"
          }
        }
      },
      "RCSMessage": {
        "required": [
          "agent_id",
          "to",
          "messaging_profile_id",
          "agent_message"
        ],
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "description": "RCS Agent ID",
            "example": "Agent007"
          },
          "to": {
            "type": "string",
            "description": "Phone number in +E.164 format",
            "example": "+13125551234"
          },
          "messaging_profile_id": {
            "type": "string",
            "description": "A valid messaging profile ID"
          },
          "type": {
            "type": "string",
            "description": "Message type - must be set to \"RCS\"",
            "example": "RCS",
            "enum": [
              "RCS"
            ]
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "agent_message": {
            "$ref": "#/components/schemas/RCSAgentMessage"
          },
          "sms_fallback": {
            "$ref": "#/components/schemas/SMSFallback"
          },
          "mms_fallback": {
            "$ref": "#/components/schemas/MMSFallback"
          }
        }
      },
      "RCSOpenUrlAction": {
        "required": [
          "url",
          "application",
          "webview_view_mode"
        ],
        "type": "object",
        "description": "Opens the user's default web browser app to the specified URL.",
        "properties": {
          "url": {
            "type": "string",
            "format": "url",
            "example": "http://example.com"
          },
          "application": {
            "type": "string",
            "example": "BROWSER",
            "description": "URL open application, browser or webview.",
            "enum": [
              "OPEN_URL_APPLICATION_UNSPECIFIED",
              "BROWSER",
              "WEBVIEW"
            ]
          },
          "webview_view_mode": {
            "type": "string",
            "example": "HALF",
            "enum": [
              "WEBVIEW_VIEW_MODE_UNSPECIFIED",
              "FULL",
              "HALF",
              "TALL"
            ]
          },
          "description": {
            "type": "string",
            "description": "Accessbility description for webview."
          }
        }
      },
      "RCSReply": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Text that is shown in the suggested reply (maximum 25 characters)"
          },
          "postback_data": {
            "type": "string",
            "description": "Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters."
          }
        }
      },
      "RCSResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "message"
              },
              "direction": {
                "type": "string",
                "example": "outbound"
              },
              "id": {
                "type": "string",
                "description": "message ID",
                "example": "4031938e-60e4-4235-a8dd-0b1c55a23e7a"
              },
              "type": {
                "type": "string",
                "example": "RCS"
              },
              "organization_id": {
                "type": "string",
                "example": "9f61d8e1-7687-4d6d-9cae-9ff682985983"
              },
              "messaging_profile_id": {
                "type": "string",
                "example": "4001781e-626f-4a41-a914-b1b682150f94"
              },
              "from": {
                "$ref": "#/components/schemas/RCSFrom"
              },
              "to": {
                "$ref": "#/components/schemas/RCSTo"
              },
              "body": {
                "$ref": "#/components/schemas/RCSAgentMessage"
              },
              "encoding": {
                "type": "string",
                "example": "utf-8"
              },
              "received_at": {
                "type": "string",
                "format": "date-time"
              },
              "wait_seconds": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "float",
                "description": "Seconds the message is queued due to rate limiting before being sent to the carrier. Represents the maximum wait across all applicable rate limits (account, carrier, campaign). 0.0 = no queuing delay.",
                "example": 0.5
              }
            }
          }
        }
      },
      "RCSRichCard": {
        "type": "object",
        "properties": {
          "carousel_card": {
            "$ref": "#/components/schemas/RCSCarouselCard"
          },
          "standalone_card": {
            "$ref": "#/components/schemas/RCSStandaloneCard"
          }
        }
      },
      "RCSShareLocationAction": {
        "type": "object",
        "description": "Opens the RCS app's location chooser so the user can pick a location to send back to the agent."
      },
      "RCSStandaloneCard": {
        "required": [
          "card_orientation",
          "thumbnail_image_alignment",
          "card_content"
        ],
        "type": "object",
        "description": "Standalone card",
        "properties": {
          "card_orientation": {
            "type": "string",
            "example": "HORIZONTAL",
            "description": "Orientation of the card.",
            "enum": [
              "CARD_ORIENTATION_UNSPECIFIED",
              "HORIZONTAL",
              "VERTICAL"
            ]
          },
          "thumbnail_image_alignment": {
            "type": "string",
            "example": "LEFT",
            "description": "Image preview alignment for standalone cards with horizontal layout.",
            "enum": [
              "THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED",
              "LEFT",
              "RIGHT"
            ]
          },
          "card_content": {
            "$ref": "#/components/schemas/RCSCardContent"
          }
        }
      },
      "RCSSuggestion": {
        "type": "object",
        "properties": {
          "reply": {
            "$ref": "#/components/schemas/RCSReply"
          },
          "action": {
            "$ref": "#/components/schemas/RCSAction"
          }
        }
      },
      "RCSTestNumberInviteResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "rcs.test_number_invite",
                "enum": [
                  "rcs.test_number_invite"
                ],
                "description": "Identifies the type of the resource"
              },
              "agent_id": {
                "type": "string",
                "example": "TestAgent",
                "description": "RCS agent ID"
              },
              "phone_number": {
                "type": "string",
                "example": "+13125551234",
                "description": "Phone number that was invited for testing"
              },
              "status": {
                "type": "string",
                "example": "PENDING",
                "description": "Status of the test number invitation"
              }
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "RCSTo": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/RCSToItem"
        }
      },
      "RCSToItem": {
        "type": "object",
        "properties": {
          "phone_number": {
            "type": "string",
            "example": "+13125551234"
          },
          "status": {
            "type": "string",
            "example": "queued"
          },
          "carrier": {
            "type": "string",
            "example": "Verizon Wireless"
          },
          "line_type": {
            "type": "string",
            "example": "Wireless"
          }
        }
      },
      "RCSViewLocationAction": {
        "type": "object",
        "description": "Opens the user's default map app and selects the agent-specified location.",
        "properties": {
          "lat_long": {
            "$ref": "#/components/schemas/RCSLatLng"
          },
          "label": {
            "type": "string",
            "description": "The label of the pin dropped"
          },
          "query": {
            "type": "string",
            "description": "query string (Android only)"
          }
        }
      },
      "ReadComment": {
        "$ref": "#/components/schemas/Comment"
      },
      "Record": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "sample_record_type"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "RecordType": {
        "type": "string",
        "description": "Identifies record type.",
        "enum": [
          "custom_storage_credentials"
        ]
      },
      "RecordTypeInfo": {
        "type": "object",
        "required": [
          "record_type",
          "aliases",
          "product",
          "event",
          "description",
          "child_relationships",
          "parent_relationships"
        ],
        "properties": {
          "record_type": {
            "type": "string"
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "product": {
            "type": "string"
          },
          "event": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "child_relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChildRelationshipInfo"
            }
          },
          "parent_relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParentRelationshipInfo"
            }
          }
        }
      },
      "RecordTypeMetadataResponse": {
        "type": "object",
        "required": [
          "record_type",
          "aliases",
          "product",
          "event",
          "child_relationships",
          "parent_relationships",
          "examples",
          "meta"
        ],
        "properties": {
          "record_type": {
            "type": "string"
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "product": {
            "type": "string"
          },
          "event": {
            "type": "string"
          },
          "child_relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChildRelationshipInfo"
            }
          },
          "parent_relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParentRelationshipInfo"
            }
          },
          "examples": {
            "type": "object",
            "additionalProperties": true,
            "description": "Example queries and responses for this record type."
          },
          "meta": {
            "$ref": "#/components/schemas/RelationshipMetadata"
          }
        }
      },
      "RecordingResponse": {
        "type": "object",
        "title": "RecordingResponse",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RecordingResponseData"
          }
        }
      },
      "RecordingResponseData": {
        "type": "object",
        "title": "RecordingResponseData",
        "properties": {
          "call_control_id": {
            "type": "string",
            "example": "v3:e-31OnvjEM7Y4wvxr3TKNk8M3QyLcGZPiUIzCGtwQtOtEjY-B0urkw",
            "description": "Unique identifier and token for controlling the call."
          },
          "call_leg_id": {
            "type": "string",
            "example": "84a97d76-e40f-11ed-9074-02420a0daa69",
            "description": "ID unique to the call leg (used to correlate webhook events)."
          },
          "call_session_id": {
            "type": "string",
            "example": "84a97d76-e40f-11ed-9074-02420a0daa69",
            "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
          },
          "channels": {
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "description": "When `dual`, the final audio file has the first leg on channel A, and the rest on channel B.",
            "example": "dual"
          },
          "conference_id": {
            "type": "string",
            "example": "84a97d76-e40f-11ed-9074-02420a0daa69",
            "description": "Uniquely identifies the conference."
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "download_urls": {
            "type": "object",
            "description": "Links to download the recording files.",
            "properties": {
              "mp3": {
                "type": "string",
                "description": "Link to download the recording in mp3 format."
              },
              "wav": {
                "type": "string",
                "description": "Link to download the recording in wav format."
              }
            }
          },
          "duration_millis": {
            "description": "The duration of the recording in milliseconds.",
            "type": "integer",
            "format": "int32",
            "example": 60000
          },
          "id": {
            "type": "string",
            "description": "Uniquely identifies the recording.",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "record_type": {
            "type": "string",
            "enum": [
              "recording"
            ],
            "example": "recording"
          },
          "recording_started_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the recording started.",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "recording_ended_at": {
            "type": "string",
            "description": "ISO 8601 formatted date of when the recording ended.",
            "example": "2019-01-23T18:10:02.574Z"
          },
          "source": {
            "type": "string",
            "enum": [
              "conference",
              "call"
            ],
            "description": "The kind of event that led to this recording being created.",
            "example": "conference"
          },
          "status": {
            "type": "string",
            "enum": [
              "completed"
            ],
            "description": "The status of the recording. Only `completed` recordings are currently supported.",
            "example": "completed"
          },
          "from": {
            "type": "string",
            "description": "The `from` (caller) number for the call that generated this recording.",
            "example": "+15551234567"
          },
          "to": {
            "type": "string",
            "description": "The `to` (callee) number for the call that generated this recording.",
            "example": "+15557654321"
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the Telnyx application (Call Control, TeXML) or SIP connection resource associated with this recording.",
            "example": "175237942907135762"
          },
          "initiated_by": {
            "type": "string",
            "description": "Indicates what triggered the recording. Possible values include `DialVerb`, `Conference`, `OutboundAPI`, `Trunking`, `RecordVerb`, `StartCallRecordingAPI`, `StartConferenceRecordingAPI`.",
            "example": "StartCallRecordingAPI"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "RecordingSource": {
        "type": "string",
        "description": "Defines how the recording was created.",
        "enum": [
          "StartCallRecordingAPI",
          "StartConferenceRecordingAPI",
          "OutboundAPI",
          "DialVerb",
          "Conference",
          "RecordVerb",
          "Trunking"
        ]
      },
      "RecordingStatusCallbackEvent": {
        "description": "The changes to the recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`.",
        "example": "in-progress completed absent",
        "type": "string"
      },
      "RecordingTrack": {
        "description": "The audio track to record for the call. The default is `both`.",
        "example": "inbound",
        "type": "string",
        "enum": [
          "inbound",
          "outbound",
          "both"
        ]
      },
      "RecordingTranscription": {
        "type": "object",
        "title": "RecordingTranscriptionsResponseData",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "duration_millis": {
            "description": "The duration of the recording transcription in milliseconds.",
            "type": "integer",
            "format": "int32",
            "example": 60000
          },
          "id": {
            "type": "string",
            "description": "Uniquely identifies the recording transcription.",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "recording_id": {
            "type": "string",
            "description": "Uniquely identifies the recording associated with this transcription.",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "record_type": {
            "type": "string",
            "enum": [
              "recording_transcription"
            ],
            "example": "recording_transcription"
          },
          "status": {
            "type": "string",
            "enum": [
              "in-progress",
              "completed"
            ],
            "description": "The status of the recording transcription. Only `completed` has transcription text available.",
            "example": "completed"
          },
          "transcription_text": {
            "type": "string",
            "description": "The recording's transcribed text.",
            "example": "Good morning, how may I help you?"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "RecursiveCluster": {
        "properties": {
          "cluster_id": {
            "type": "string"
          },
          "cluster_header": {
            "type": "string"
          },
          "cluster_summary": {
            "type": "string"
          },
          "nodes": {
            "items": {
              "$ref": "#/components/schemas/ClusterNode"
            },
            "type": "array"
          },
          "total_number_of_nodes": {
            "type": "integer"
          },
          "subclusters": {
            "items": {
              "$ref": "#/components/schemas/RecursiveCluster"
            },
            "type": "array"
          }
        },
        "type": "object",
        "required": [
          "cluster_id",
          "cluster_summary",
          "total_number_of_nodes"
        ],
        "title": "RecursiveCluster"
      },
      "ReferRequest": {
        "type": "object",
        "title": "Refer request",
        "required": [
          "sip_address"
        ],
        "properties": {
          "sip_address": {
            "description": "The SIP URI to which the call will be referred to.",
            "type": "string",
            "example": "sip:username@sip.non-telnyx-address.com"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "type": "string"
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901",
            "type": "string"
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE.",
            "type": "array",
            "example": [
              {
                "name": "head_1",
                "value": "val_1"
              },
              {
                "name": "head_2",
                "value": "val_2"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/CustomSipHeader"
            }
          },
          "sip_auth_username": {
            "description": "SIP Authentication username used for SIP challenges.",
            "type": "string"
          },
          "sip_auth_password": {
            "description": "SIP Authentication password used for SIP challenges.",
            "type": "string"
          },
          "sip_headers": {
            "description": "SIP headers to be added to the request. Currently only User-to-User header is supported.",
            "type": "array",
            "example": [
              {
                "name": "User-to-User",
                "value": "value"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/SipHeader"
            }
          }
        },
        "example": {
          "sip_address": "sip:username@sip.non-telnyx-address.com"
        }
      },
      "RefreshRoomClientTokenRequest": {
        "type": "object",
        "properties": {
          "token_ttl_secs": {
            "description": "The time to live in seconds of the Client Token, after that time the Client Token is invalid and can't be used to join a Room.",
            "type": "integer",
            "example": 600,
            "default": 600,
            "minimum": 10,
            "maximum": 3600
          },
          "refresh_token": {
            "type": "string",
            "example": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ"
          }
        },
        "required": [
          "refresh_token"
        ]
      },
      "Region": {
        "description": "Region where the bucket is located.",
        "type": "string",
        "example": "us-east-1"
      },
      "RegionIn": {
        "type": "object",
        "properties": {
          "region_code": {
            "description": "The region the interface should be deployed to.",
            "type": "string",
            "example": "ashburn-va"
          }
        }
      },
      "RegionInformation": {
        "properties": {
          "region_type": {
            "type": "string",
            "example": "country_code",
            "enum": [
              "country_code",
              "rate_center",
              "state",
              "location"
            ]
          },
          "region_name": {
            "type": "string",
            "example": "US"
          }
        },
        "example": {
          "region_type": "country_code",
          "region_name": "US"
        },
        "type": "object"
      },
      "RegionOut": {
        "type": "object",
        "properties": {
          "region_code": {
            "description": "The region interface is deployed to.",
            "type": "string",
            "example": "ashburn-va"
          },
          "region": {
            "type": "object",
            "properties": {
              "code": {
                "description": "Region code of the interface.",
                "type": "string",
                "example": "ashburn-va"
              },
              "name": {
                "description": "Region name of the interface.",
                "type": "string",
                "example": "Ashburn"
              },
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "region"
              }
            }
          }
        }
      },
      "RegulatoryRequirement": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string"
          },
          "requirement_id": {
            "type": "string",
            "format": "uuid"
          },
          "field_type": {
            "type": "string"
          }
        }
      },
      "RegulatoryRequirements": {
        "properties": {
          "country_code": {
            "type": "string",
            "example": "DE",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "example": "local",
            "readOnly": true
          },
          "action": {
            "type": "string",
            "example": "ordering",
            "readOnly": true
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string",
                  "example": "Address matching the DID area code (street, building number, postal code, city and country)",
                  "readOnly": true
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
                  "readOnly": true
                },
                "example": {
                  "type": "string",
                  "example": "600 Congress Avenue, 14th Floor, Austin, TX 78701",
                  "readOnly": true
                },
                "name": {
                  "type": "string",
                  "example": "Address matching the DID area code"
                },
                "field_type": {
                  "type": "string",
                  "example": "address_id"
                },
                "acceptance_criteria": {
                  "type": "object",
                  "properties": {
                    "locality_limit": {
                      "type": "string",
                      "example": "Identical locality as the numbers desired"
                    },
                    "time_limit": {
                      "type": "string",
                      "example": "Less than 5 months old"
                    },
                    "regex": {
                      "type": "string",
                      "example": "regex field value must match"
                    },
                    "case_sensitive": {
                      "type": "string",
                      "example": "Whether field value is case sensitive"
                    },
                    "acceptable_characters": {
                      "type": "string",
                      "example": "Characters that can be included in field value"
                    },
                    "acceptable_values": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "max_length": {
                      "type": "string",
                      "example": "10"
                    },
                    "min_length": {
                      "type": "string",
                      "example": "5"
                    }
                  }
                }
              }
            }
          }
        },
        "type": "object"
      },
      "RegulatoryRequirementsPhoneNumbers": {
        "properties": {
          "phone_number": {
            "type": "string",
            "example": "+41215471644",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "example": "local",
            "readOnly": true
          },
          "region_information": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "region_name": {
                  "type": "string",
                  "example": "CH"
                },
                "region_type": {
                  "type": "string",
                  "example": "country_code"
                }
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "phone_number_regulatory_requirements",
            "readOnly": true
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string",
                  "example": "Address matching the DID area code (street, building number, postal code, city and country)",
                  "readOnly": true
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
                  "readOnly": true
                },
                "example": {
                  "type": "string",
                  "example": "600 Congress Avenue, 14th Floor, Austin, TX 78701",
                  "readOnly": true
                },
                "label": {
                  "type": "string",
                  "example": "Address matching the DID area code"
                },
                "field_type": {
                  "type": "string",
                  "example": "address_id"
                },
                "acceptance_criteria": {
                  "type": "object",
                  "properties": {
                    "locality_limit": {
                      "type": "string",
                      "example": "Identical locality as the numbers desired"
                    },
                    "field_value": {
                      "type": "string",
                      "example": "45f45a04-b4be-4592-95b1-9306b9db2b21"
                    },
                    "field_type": {
                      "type": "string",
                      "example": "address"
                    }
                  }
                },
                "record_type": {
                  "type": "string",
                  "example": "regulatory_requirement",
                  "readOnly": true
                }
              }
            }
          }
        },
        "type": "object"
      },
      "RejectRequest": {
        "type": "object",
        "title": "Reject Request",
        "required": [
          "cause"
        ],
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "cause": {
            "description": "Cause for call rejection.",
            "type": "string",
            "enum": [
              "CALL_REJECTED",
              "USER_BUSY"
            ],
            "example": "USER_BUSY"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "cause": "USER_BUSY"
        }
      },
      "RelationshipInfo": {
        "type": "object",
        "required": [
          "type",
          "via",
          "parent_id"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Relationship type identifier."
          },
          "via": {
            "$ref": "#/components/schemas/FieldMapping"
          },
          "parent_id": {
            "type": "string",
            "description": "Identifier of the parent event."
          }
        }
      },
      "RelationshipMetadata": {
        "type": "object",
        "required": [
          "total_children",
          "total_siblings",
          "total_parents",
          "max_recommended_depth"
        ],
        "properties": {
          "total_children": {
            "type": "integer"
          },
          "total_siblings": {
            "type": "integer"
          },
          "total_parents": {
            "type": "integer"
          },
          "max_recommended_depth": {
            "type": "integer"
          }
        }
      },
      "Release": {
        "type": "object",
        "title": "Phone Number Release",
        "properties": {
          "ticket_id": {
            "$ref": "#/components/schemas/UUID"
          },
          "tenant_id": {
            "type": "string",
            "format": "uuid",
            "example": "ea175aba-f47c-4702-9400-efaa42688048"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending_upload",
              "pending",
              "in_progress",
              "complete",
              "failed",
              "expired",
              "unknown"
            ],
            "description": "Represents the status of the release on Microsoft Teams.",
            "example": "pending",
            "default": "pending_upload"
          },
          "error_message": {
            "type": "string",
            "description": "A message set if there is an error with the upload process."
          },
          "telephone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TnReleaseEntry"
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "ReplacedLinkClick": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "link_clicked",
            "description": "Identifies the type of the resource."
          },
          "url": {
            "type": "string",
            "example": "link_clicked",
            "description": "The original link that was sent in the message."
          },
          "to": {
            "type": "string",
            "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
            "x-format": "address"
          },
          "message_id": {
            "type": "string",
            "format": "uuid",
            "description": "The message ID associated with the clicked link."
          },
          "time_clicked": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the message request was received."
          }
        },
        "example": {
          "record_type": "link_clicked",
          "url": "https://telnyx.com",
          "to": "18445550001",
          "message_id": "7ee4241c-f127-47e5-9c34-3aac291f8058",
          "time_clicked": "2019-04-01T14:45:45.450Z"
        }
      },
      "ReplacedLinkClickEvent": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ReplacedLinkClick"
          }
        }
      },
      "ReputationData": {
        "type": "object",
        "description": "Reputation metrics",
        "properties": {
          "spam_risk": {
            "type": "string",
            "nullable": true,
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "description": "Overall spam risk level"
          },
          "spam_category": {
            "type": "string",
            "nullable": true,
            "description": "Spam category classification (e.g., Telemarketing, Debt Collector)"
          },
          "maturity_score": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "Maturity metric (0–100). Higher = more established number"
          },
          "connection_score": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "Connection quality metric (0–100)"
          },
          "engagement_score": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "Engagement metric (0–100). Higher = more positive engagement"
          },
          "sentiment_score": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "Sentiment metric (0–100). Higher = more positive sentiment"
          },
          "last_refreshed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Timestamp of the last reputation data refresh"
          }
        }
      },
      "ReputationPhoneNumberCreate": {
        "type": "object",
        "required": [
          "phone_numbers"
        ],
        "properties": {
          "phone_numbers": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "type": "string",
              "description": "Phone number in E.164 format",
              "example": "+16035551234"
            },
            "description": "List of phone numbers to associate for reputation monitoring (max 100)"
          }
        }
      },
      "ReputationPhoneNumberList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReputationPhoneNumberPublic"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/MetaInfo"
          }
        }
      },
      "ReputationPhoneNumberListWithReputation": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReputationPhoneNumberWithReputationData"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/MetaInfo"
          }
        }
      },
      "ReputationPhoneNumberPublic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number in E.164 format",
            "example": "+16035551234"
          },
          "enterprise_id": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the associated enterprise"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the number was associated"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the record was last updated"
          }
        }
      },
      "ReputationPhoneNumberWithReputation": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ReputationPhoneNumberWithReputationData"
          }
        }
      },
      "ReputationPhoneNumberWithReputationData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReputationPhoneNumberPublic"
          },
          {
            "type": "object",
            "properties": {
              "reputation_data": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ReputationData"
                  },
                  {
                    "type": "object",
                    "nullable": true
                  }
                ],
                "description": "Reputation metrics (null if not yet fetched)"
              }
            }
          }
        ]
      },
      "RequirementGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "phone_number_type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "approved",
              "unapproved",
              "pending-approval",
              "declined",
              "expired"
            ]
          },
          "action": {
            "type": "string"
          },
          "customer_reference": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "record_type": {
            "type": "string",
            "example": "requirement_group"
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserRequirement"
            }
          }
        }
      },
      "ResembleProviderParams": {
        "type": "object",
        "description": "Resemble AI provider-specific parameters.",
        "properties": {
          "api_key": {
            "type": "string",
            "description": "Custom Resemble API key."
          },
          "precision": {
            "type": "string",
            "description": "Synthesis precision."
          },
          "sample_rate": {
            "type": "string",
            "description": "Audio sample rate."
          },
          "format": {
            "type": "string",
            "description": "Audio output format."
          }
        }
      },
      "ResembleSampleRate": {
        "type": "string",
        "title": "Resemble Sample Rate",
        "description": "Audio sample rate in Hz.",
        "enum": [
          "8000",
          "16000",
          "22050",
          "32000",
          "44100",
          "48000"
        ],
        "default": "48000"
      },
      "ResembleVoiceSettings": {
        "type": "object",
        "title": "Resemble Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "resemble"
            ],
            "description": "Voice settings provider type"
          },
          "precision": {
            "description": "Audio precision format.",
            "type": "string",
            "enum": [
              "PCM_16",
              "PCM_24",
              "PCM_32",
              "MULAW"
            ],
            "default": "PCM_32"
          },
          "sample_rate": {
            "$ref": "#/components/schemas/ResembleSampleRate"
          },
          "format": {
            "description": "Output audio format.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "mp3"
          }
        },
        "required": [
          "type"
        ]
      },
      "ReservedPhoneNumber": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "errors": {
            "type": "string",
            "description": "Errors the reservation could happen upon",
            "example": "Number is already on hold",
            "readOnly": true
          },
          "record_type": {
            "type": "string",
            "example": "reserved_phone_number",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "example": "+19705555098"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the phone number's reservation.",
            "example": "success",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the individual number reservation was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the the individual number reservation was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "expired_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the individual number reservation is going to expire",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          }
        },
        "example": {
          "id": "12ade33a-21c0-473b-b055-b3c836e1c292",
          "record_type": "reserved_phone_number",
          "phone_number": "+19705555098",
          "status": "pending",
          "created_at": "2018-01-01T00:00:00.000000Z",
          "updated_at": "2018-01-01T00:00:00.000000Z",
          "expired_at": "2018-01-01T00:00:00.000000Z"
        },
        "type": "object"
      },
      "ResourceMetadata": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "format": "uri",
            "description": "Protected resource URL"
          },
          "authorization_servers": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "List of authorization server URLs"
          }
        }
      },
      "ResourceNotFoundError": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Error code identifying the error type."
                },
                "detail": {
                  "type": "string",
                  "description": "A human-readable explanation of the error."
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "description": "A URL to the detailed documentation for the error."
                    }
                  }
                },
                "title": {
                  "type": "string",
                  "description": "A short, human-readable summary of the problem."
                }
              }
            }
          }
        }
      },
      "ResponseMeta": {
        "type": "object",
        "required": [
          "event_count",
          "products"
        ],
        "properties": {
          "event_count": {
            "type": "integer",
            "description": "Total number of events in the session tree."
          },
          "products": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of distinct products involved in the session."
          }
        }
      },
      "ResumeConferenceRecordingRequest": {
        "type": "object",
        "title": "Pause Recording Request",
        "properties": {
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Use this field to resume specific recording.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        }
      },
      "ResumeRecordingRequest": {
        "type": "object",
        "title": "Resume Recording Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Uniquely identifies the resource.",
            "type": "string",
            "format": "uuid",
            "example": "6e00ab49-9487-4364-8ad6-23965965afb2"
          }
        }
      },
      "Retrieval": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "retrieval"
            ]
          },
          "retrieval": {
            "$ref": "#/components/schemas/BucketIds"
          }
        },
        "type": "object",
        "required": [
          "type",
          "retrieval"
        ],
        "title": "Retrieval"
      },
      "RetrievalTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "retrieval"
            ]
          },
          "retrieval": {
            "$ref": "#/components/schemas/BucketIds"
          }
        },
        "type": "object",
        "required": [
          "type",
          "retrieval"
        ],
        "title": "RetrievalTool"
      },
      "RetrieveVerificationResponse": {
        "title": "RetrieveVerificationResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Verification"
          }
        }
      },
      "RimeProviderParams": {
        "type": "object",
        "description": "Rime provider-specific parameters.",
        "properties": {
          "voice_speed": {
            "type": "number",
            "format": "float",
            "description": "Voice speed multiplier."
          },
          "response_format": {
            "type": "string",
            "description": "Audio output format."
          },
          "sampling_rate": {
            "type": "integer",
            "description": "Audio sampling rate in Hz."
          }
        }
      },
      "RimeVoiceSettings": {
        "type": "object",
        "title": "Rime Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "rime"
            ],
            "description": "Voice settings provider type"
          },
          "voice_speed": {
            "description": "Speech speed multiplier. Default is 1.0.",
            "type": "number",
            "format": "float",
            "default": 1,
            "example": 1
          }
        },
        "required": [
          "type"
        ]
      },
      "RolloutSlot": {
        "properties": {
          "version_id": {
            "type": "string",
            "title": "Version Id"
          },
          "weight": {
            "type": "number",
            "title": "Weight",
            "minimum": 0,
            "maximum": 100
          }
        },
        "type": "object",
        "required": [
          "version_id",
          "weight"
        ],
        "title": "RolloutSlot",
        "description": "One slot in a percentage rollout."
      },
      "Room": {
        "type": "object",
        "properties": {
          "id": {
            "description": "A unique identifier for the room.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "max_participants": {
            "description": "Maximum participants allowed in the room.",
            "type": "integer",
            "example": 50
          },
          "unique_name": {
            "description": "The unique (within the Telnyx account scope) name of the room.",
            "type": "string",
            "example": "My room"
          },
          "created_at": {
            "description": "ISO 8601 timestamp when the room was created.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the room was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "active_session_id": {
            "description": "The identifier of the active room session if any.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoomSession"
            }
          },
          "enable_recording": {
            "description": "Enable or disable recording for that room.",
            "type": "boolean",
            "example": true,
            "default": false
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this room will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": "string",
            "format": "uri",
            "description": "The failover URL where webhooks related to this room will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "record_type": {
            "type": "string",
            "example": "room",
            "readOnly": true
          }
        },
        "example": {
          "id": "7b61621f-62e0-4aad-ab11-9fd19e272e73",
          "max_participants": 50,
          "unique_name": "My Room",
          "created_at": "2021-04-16T09:46:20.954863Z",
          "updated_at": "2021-04-16T10:24:55.962200Z",
          "active_session_id": "7b61621f-62e0-4aad-ab11-9fd19e272e74",
          "enable_recording": true,
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "webhook_event_url": "https://www.example.com",
          "sessions": [
            {
              "id": "7b61621f-62e0-4aad-ab11-9fd19e272e74",
              "room_id": "7b61621f-62e0-4aad-ab11-9fd19e272e73",
              "active": true,
              "created_at": "2021-04-16T09:46:20.954863Z",
              "updated_at": "2021-04-16T10:24:55.962200Z",
              "participants": [],
              "record_type": "room_session"
            }
          ],
          "record_type": "room"
        }
      },
      "RoomComposition": {
        "type": "object",
        "properties": {
          "id": {
            "description": "A unique identifier for the room composition.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "room_id": {
            "description": "Identify the room associated with the room composition.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "session_id": {
            "description": "Identify the room session associated with the room composition.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "user_id": {
            "description": "Identify the user associated with the room composition.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "status": {
            "description": "Shows the room composition status.",
            "type": "string",
            "example": "completed",
            "enum": [
              "completed",
              "enqueued",
              "processing"
            ]
          },
          "size_mb": {
            "description": "Shows the room composition size in MB.",
            "type": "number",
            "format": "float",
            "example": 10.5
          },
          "download_url": {
            "description": "Url to download the composition.",
            "type": "string",
            "example": "https://www.example.com"
          },
          "duration_secs": {
            "description": "Shows the room composition duration in seconds.",
            "type": "integer",
            "example": 67
          },
          "format": {
            "description": "Shows format of the room composition.",
            "type": "string",
            "example": "mp4",
            "enum": [
              "mp4"
            ]
          },
          "created_at": {
            "description": "ISO 8601 timestamp when the room composition was created.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the room composition was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "ended_at": {
            "description": "ISO 8601 timestamp when the room composition has ended.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "started_at": {
            "description": "ISO 8601 timestamp when the room composition has stated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "completed_at": {
            "description": "ISO 8601 timestamp when the room composition has completed.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "video_layout": {
            "description": "Describes the video layout of the room composition in terms of regions. Limited to 2 regions.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/VideoRegion"
            }
          },
          "webhook_event_url": {
            "description": "The URL where webhooks related to this room composition will be sent. Must include a scheme, such as 'https'.",
            "type": "string",
            "format": "uri",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": "string",
            "format": "uri",
            "description": "The failover URL where webhooks related to this room composition will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "resolution": {
            "type": "string",
            "description": "The resolution of the room composition.",
            "example": "1280x720"
          },
          "record_type": {
            "type": "string",
            "example": "room_composition",
            "readOnly": true
          }
        },
        "example": {
          "completed_at": "2022-02-25T05:39:56.377426Z",
          "download_url": "https://example.com",
          "duration_secs": 84,
          "ended_at": "2022-02-24T23:22:24.577677Z",
          "format": "mp4",
          "id": "7103dc53-ee59-4b54-a58b-c77d99ceb037",
          "record_type": "composition",
          "resolution": "1280x720",
          "room_id": "f981dbb3-228a-44e9-ac54-e87f0e2658b0",
          "session_id": "8f728d7b-00e2-4c59-8c27-f564b828df87",
          "size_mb": 6,
          "started_at": "2022-02-24T23:21:00.077209Z",
          "status": "enqueued",
          "user_id": "12a04ec9-0f91-4a91-9f3a-a19d9931182e",
          "video_layout": {
            "first": {
              "height": 720,
              "video_sources": [
                "7b61621f-62e0-4aad-ab11-9fd19e272e73"
              ],
              "width": 1280,
              "x_pos": 0,
              "y_pos": 0,
              "z_pos": 0
            }
          },
          "webhook_event_url": "https://webhook.site/544663ce-b692-4f9c-80ed-e5ad97cd5c02"
        }
      },
      "RoomParticipant": {
        "type": "object",
        "properties": {
          "id": {
            "description": "A unique identifier for the room participant.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "session_id": {
            "description": "Identify the room session that participant is part of.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "context": {
            "description": "Context provided to the given participant through the client SDK",
            "type": "string",
            "example": "Alice"
          },
          "joined_at": {
            "description": "ISO 8601 timestamp when the participant joined the session.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the participant was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "left_at": {
            "description": "ISO 8601 timestamp when the participant left the session.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "record_type": {
            "type": "string",
            "example": "room_participant",
            "readOnly": true
          }
        },
        "example": {
          "id": "7b61621f-62e0-4aad-ab11-9fd19e272e73",
          "session_id": "7b61621f-5fe4-4aad-ab11-9fd19e272e73",
          "context": "Alice",
          "joined_at": "2021-04-16T09:46:20.954863Z",
          "updated_at": "2021-04-16T10:24:55.962200Z",
          "left_at": "2021-04-16T10:24:55.962200Z",
          "record_type": "room_participant"
        }
      },
      "RoomRecording": {
        "type": "object",
        "properties": {
          "id": {
            "description": "A unique identifier for the room recording.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "room_id": {
            "description": "Identify the room associated with the room recording.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "session_id": {
            "description": "Identify the room session associated with the room recording.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "participant_id": {
            "description": "Identify the room participant associated with the room recording.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "status": {
            "description": "Shows the room recording status.",
            "type": "string",
            "example": "completed",
            "enum": [
              "completed",
              "processing"
            ]
          },
          "type": {
            "description": "Shows the room recording type.",
            "type": "string",
            "example": "audio",
            "enum": [
              "audio",
              "video"
            ]
          },
          "size_mb": {
            "description": "Shows the room recording size in MB.",
            "type": "number",
            "format": "float",
            "example": 10.5
          },
          "download_url": {
            "description": "Url to download the recording.",
            "type": "string",
            "example": "https://www.example.com"
          },
          "codec": {
            "description": "Shows the codec used for the room recording.",
            "type": "string",
            "example": "opus"
          },
          "duration_secs": {
            "description": "Shows the room recording duration in seconds.",
            "type": "integer",
            "example": 67
          },
          "created_at": {
            "description": "ISO 8601 timestamp when the room recording was created.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the room recording was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "ended_at": {
            "description": "ISO 8601 timestamp when the room recording has ended.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "started_at": {
            "description": "ISO 8601 timestamp when the room recording has stated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "completed_at": {
            "description": "ISO 8601 timestamp when the room recording has completed.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "record_type": {
            "type": "string",
            "example": "room_recording",
            "readOnly": true
          }
        },
        "example": {
          "id": "6b61621f-62e0-4aad-ab11-9fd19e272e73",
          "room_id": "7b61621f-5fe4-4aad-ab11-9fd19e272e73",
          "session_id": "8b61621f-5fe4-4aad-ab11-9fd19e272e73",
          "participant_id": "9b61621f-5fe4-4aad-ab11-9fd19e272e73",
          "status": "completed",
          "download_url": "https://www.example.com",
          "type": "audio",
          "duration_secs": 3660,
          "size_mb": 5.6,
          "codec": "opus",
          "created_at": "2021-04-16T09:46:20.954863Z",
          "updated_at": "2021-04-16T10:24:55.962200Z",
          "started_at": "2021-04-16T09:24:55.962200Z",
          "ended_at": "2021-04-16T10:24:55.962200Z",
          "completed_at": "2021-04-16T10:25:55.962200Z",
          "record_type": "room_session"
        }
      },
      "RoomSession": {
        "type": "object",
        "properties": {
          "id": {
            "description": "A unique identifier for the room session.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "room_id": {
            "description": "Identify the room hosting that room session.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0"
          },
          "active": {
            "description": "Shows if the room session is active or not.",
            "type": "boolean",
            "example": false
          },
          "created_at": {
            "description": "ISO 8601 timestamp when the room session was created.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp when the room session was updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "ended_at": {
            "description": "ISO 8601 timestamp when the room session has ended.",
            "type": "string",
            "format": "date-time",
            "example": "2021-03-26T17:51:59.588408Z"
          },
          "participants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoomParticipant"
            }
          },
          "record_type": {
            "type": "string",
            "example": "room_session",
            "readOnly": true
          }
        },
        "example": {
          "id": "7b61621f-62e0-4aad-ab11-9fd19e272e73",
          "room_id": "7b61621f-5fe4-4aad-ab11-9fd19e272e73",
          "active": false,
          "created_at": "2021-04-16T09:46:20.954863Z",
          "updated_at": "2021-04-16T10:24:55.962200Z",
          "ended_at": "2021-04-16T10:24:55.962200Z",
          "participants": [],
          "record_type": "room_session"
        }
      },
      "Rule-Input": {
        "properties": {
          "match": {
            "items": {
              "$ref": "#/components/schemas/Clause"
            },
            "type": "array",
            "title": "Match"
          },
          "serve": {
            "$ref": "#/components/schemas/Serve"
          }
        },
        "type": "object",
        "required": [
          "serve"
        ],
        "title": "Rule",
        "description": "A targeting rule: ``match`` clauses (AND) gate ``serve``.\n\nAn empty ``match`` is a catch-all (always fires)."
      },
      "Rule-Output": {
        "properties": {
          "match": {
            "items": {
              "$ref": "#/components/schemas/Clause"
            },
            "type": "array",
            "title": "Match"
          },
          "serve": {
            "$ref": "#/components/schemas/Serve"
          }
        },
        "type": "object",
        "required": [
          "serve"
        ],
        "title": "Rule",
        "description": "A targeting rule: ``match`` clauses (AND) gate ``serve``.\n\nAn empty ``match`` is a catch-all (always fires)."
      },
      "RunStatus": {
        "type": "string",
        "enum": [
          "pending",
          "running",
          "paused",
          "succeeded",
          "failed",
          "cancelled"
        ],
        "title": "RunStatus"
      },
      "S3ConfigurationData": {
        "type": "object",
        "title": "AWS S3 Storage Configuration Data",
        "properties": {
          "backend": {
            "type": "string",
            "enum": [
              "s3"
            ],
            "description": "Storage backend type"
          },
          "bucket": {
            "$ref": "#/components/schemas/Bucket"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "aws_access_key_id": {
            "$ref": "#/components/schemas/AwsAccessKeyId"
          },
          "aws_secret_access_key": {
            "$ref": "#/components/schemas/AwsSecretAccessKey"
          }
        },
        "required": [
          "backend"
        ]
      },
      "SIMCard": {
        "type": "object",
        "title": "SIMCard",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "example": "sim_card",
            "readOnly": true
          },
          "status": {
            "$ref": "#/components/schemas/SIMCardStatus"
          },
          "type": {
            "type": "string",
            "description": "The type of SIM card",
            "readOnly": true,
            "example": "physical",
            "enum": [
              "physical",
              "esim"
            ]
          },
          "iccid": {
            "type": "string",
            "description": "The ICCID is the identifier of the specific SIM card/chip. Each SIM is internationally identified by its integrated circuit card identifier (ICCID). ICCIDs are stored in the SIM card's memory and are also engraved or printed on the SIM card body during a process called personalization.\n",
            "readOnly": true,
            "example": "89310410106543789301"
          },
          "imsi": {
            "type": "string",
            "description": "SIM cards are identified on their individual network operators by a unique International Mobile Subscriber Identity (IMSI). <br/>\nMobile network operators connect mobile phone calls and communicate with their market SIM cards using their IMSIs. The IMSI is stored in the Subscriber  Identity Module (SIM) inside the device and is sent by the device to the appropriate network. It is used to acquire the details of the device in the Home  Location Register (HLR) or the Visitor Location Register (VLR).\n",
            "readOnly": true,
            "example": "081932214823362973"
          },
          "msisdn": {
            "type": "string",
            "description": "Mobile Station International Subscriber Directory Number (MSISDN) is a number used to identify a mobile phone number internationally. <br/>\nMSISDN is defined by the E.164 numbering plan. It includes a country code and a National Destination Code which identifies the subscriber's operator.\n",
            "readOnly": true,
            "example": "+13109976224"
          },
          "sim_card_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "The group SIMCardGroup identification. This attribute can be <code>null</code> when it's present in an associated resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "tags": {
            "type": "array",
            "description": "Searchable tags associated with the SIM card",
            "items": {
              "type": "string"
            },
            "example": [
              "personal",
              "customers",
              "active-customers"
            ]
          },
          "authorized_imeis": {
            "type": [
              "array",
              "null"
            ],
            "description": "List of IMEIs authorized to use a given SIM card.",
            "items": {
              "type": "string"
            },
            "example": [
              "106516771852751",
              "534051870479563",
              "508821468377961"
            ]
          },
          "current_imei": {
            "type": "string",
            "description": "IMEI of the device where a given SIM card is currently being used.",
            "readOnly": true,
            "example": "457032284023794"
          },
          "data_limit": {
            "type": "object",
            "description": "The SIM card individual data limit configuration.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB",
                "enum": [
                  "MB",
                  "GB"
                ]
              }
            }
          },
          "current_billing_period_consumed_data": {
            "type": "object",
            "description": "The SIM card consumption so far in the current billing cycle.",
            "readOnly": true,
            "properties": {
              "amount": {
                "type": "string",
                "example": "2049.0"
              },
              "unit": {
                "type": "string",
                "example": "MB",
                "default": "MB"
              }
            }
          },
          "actions_in_progress": {
            "type": "boolean",
            "description": "Indicate whether the SIM card has any pending (in-progress) actions.",
            "readOnly": true,
            "example": true,
            "default": false
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "ipv4": {
            "type": "string",
            "description": "The SIM's address in the currently connected network. This IPv4 address is usually obtained dynamically, so it may vary according to the location or new connections.\n",
            "readOnly": true,
            "example": "192.168.0.0"
          },
          "ipv6": {
            "type": "string",
            "description": "The SIM's address in the currently connected network. This IPv6 address is usually obtained dynamically, so it may vary according to the location or new connections.\n",
            "readOnly": true,
            "example": "2001:cdba:0000:0000:0000:0000:3257:9652"
          },
          "current_device_location": {
            "type": "object",
            "description": "Current physical location data of a given SIM card. Accuracy is given in meters.",
            "readOnly": true,
            "properties": {
              "latitude": {
                "type": "string",
                "example": "41.143"
              },
              "longitude": {
                "type": "string",
                "example": "-8.605"
              },
              "accuracy": {
                "type": "integer",
                "example": 1250
              },
              "accuracy_unit": {
                "type": "string",
                "example": "m",
                "default": "m"
              }
            }
          },
          "current_mnc": {
            "type": "string",
            "readOnly": true,
            "description": "Mobile Network Code of the current network to which the SIM card is connected. It's a two to three decimal digits that identify a network.<br/><br/>\n This code is commonly seen joined with a Mobile Country Code (MCC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "example": "260"
          },
          "current_mcc": {
            "type": "string",
            "readOnly": true,
            "description": "Mobile Country Code of the current network to which the SIM card is connected. It's a three decimal digit that identifies a country.<br/><br/>\nThis code is commonly seen joined with a Mobile Network Code (MNC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "example": "410"
          },
          "live_data_session": {
            "type": "string",
            "enum": [
              "connected",
              "disconnected",
              "unknown"
            ],
            "readOnly": true,
            "description": "Indicates whether the device is actively connected to a network and able to run data.",
            "example": "connected"
          },
          "pin_puk_codes": {
            "type": "object",
            "description": "PIN and PUK codes for the SIM card. Only available when include_pin_puk_codes=true is set in the request.",
            "readOnly": true,
            "properties": {
              "pin1": {
                "type": "string",
                "description": "The primary Personal Identification Number (PIN) for the SIM card. This is a 4-digit code used to protect the SIM card from unauthorized use.",
                "example": "1234",
                "readOnly": true
              },
              "pin2": {
                "type": "string",
                "description": "The secondary Personal Identification Number (PIN2) for the SIM card. This is a 4-digit code used for additional security features.",
                "example": "5678",
                "readOnly": true
              },
              "puk1": {
                "type": "string",
                "description": "The primary Personal Unblocking Key (PUK1) for the SIM card. This is an 8-digit code used to unlock the SIM card if PIN1 is entered incorrectly multiple times.",
                "example": "12345678",
                "readOnly": true
              },
              "puk2": {
                "type": "string",
                "description": "The secondary Personal Unblocking Key (PUK2) for the SIM card. This is an 8-digit code used to unlock the SIM card if PIN2 is entered incorrectly multiple times.",
                "example": "87654321",
                "readOnly": true
              }
            }
          },
          "esim_installation_status": {
            "type": [
              "string",
              "null"
            ],
            "description": "The installation status of the eSIM. Only applicable for eSIM cards.",
            "readOnly": true,
            "example": "released",
            "enum": [
              "released",
              "disabled"
            ]
          },
          "version": {
            "type": "string",
            "description": "The version of the SIM card.",
            "readOnly": true,
            "example": "4.3"
          },
          "resources_with_in_progress_actions": {
            "type": "array",
            "description": "List of resources with actions in progress.",
            "readOnly": true,
            "items": {
              "type": "object"
            },
            "example": []
          },
          "eid": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Embedded Identity Document (eID) for eSIM cards.",
            "readOnly": true,
            "example": null
          },
          "voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether voice services are enabled for the SIM card.",
            "readOnly": true,
            "example": false,
            "default": false
          }
        }
      },
      "SIMCardAction": {
        "type": "object",
        "title": "SIMCardAction",
        "description": "This object represents a SIM card action. It allows tracking the current status of an operation that impacts the SIM card.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/wireless_Id"
          },
          "record_type": {
            "type": "string",
            "example": "sim_card_action",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "description": "The related SIM card identifier.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "action_type": {
            "type": "string",
            "description": "The operation type. It can be one of the following: <br/>\n<ul>\n <li><code>enable</code> - move the SIM card to the <code>enabled</code> status</li>\n <li><code>enable_standby_sim_card</code> - move a SIM card previously on the <code>standby</code> status to the <code>enabled</code> status after it consumes data.</li>\n <li><code>disable</code> - move the SIM card to the <code>disabled</code> status</li>\n <li><code>set_standby</code> - move the SIM card to the <code>standby</code> status</li>\n </ul>",
            "enum": [
              "enable",
              "enable_standby_sim_card",
              "disable",
              "set_standby"
            ],
            "readOnly": true,
            "example": "enable"
          },
          "status": {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "description": "The current status of the SIM card action.",
                "enum": [
                  "in-progress",
                  "completed",
                  "failed",
                  "interrupted"
                ],
                "readOnly": true,
                "example": "completed"
              },
              "reason": {
                "type": "string",
                "description": "It describes why the SIM card action is in the current status. This will be <code>null</code> for self-explanatory statuses, such as <code>in-progress</code> and <code>completed</code> but will include further information on statuses like <code>interrupted</code> and <code>failed</code>.",
                "readOnly": true,
                "example": "The data limit was exceeded."
              }
            }
          },
          "settings": {
            "type": [
              "object",
              "null"
            ],
            "description": "A JSON object representation of the action params.",
            "example": {},
            "readOnly": true,
            "additionalProperties": true
          },
          "created_at": {
            "$ref": "#/components/schemas/wireless_CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/wireless_UpdatedAt"
          }
        }
      },
      "SIMCardActionsSummary": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "in-progress",
              "completed",
              "failed",
              "interrupted"
            ],
            "example": "in-progress"
          },
          "count": {
            "type": "integer"
          }
        }
      },
      "SIMCardActivationCode": {
        "type": "object",
        "title": "SIMCardActivationCode",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "sim_card_activation_code",
            "readOnly": true
          },
          "activation_code": {
            "type": "string",
            "description": "Contents of the eSIM activation QR code.",
            "example": "LPA:1$....",
            "readOnly": true
          }
        }
      },
      "SIMCardDeviceDetails": {
        "type": "object",
        "title": "SIMCardDeviceDetails",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "device_details",
            "readOnly": true
          },
          "imei": {
            "type": "string",
            "description": "IMEI of the device where the SIM card is being used in.",
            "example": "457032284023794",
            "readOnly": true
          },
          "model_name": {
            "type": "string",
            "description": "Brand of the device where the SIM card is being used in.",
            "example": "iPad Pro 11 2020 Cellular",
            "readOnly": true
          },
          "brand_name": {
            "type": "string",
            "description": "Brand of the device where the SIM card is being used in.",
            "example": "Apple",
            "readOnly": true
          },
          "device_type": {
            "type": "string",
            "description": "Type of the device where the SIM card is being used in.",
            "example": "Tablet",
            "readOnly": true
          },
          "operating_system": {
            "type": "string",
            "description": "Operating system of the device where the SIM card is being used in.",
            "example": "iOS 12",
            "readOnly": true
          }
        }
      },
      "SIMCardGroup": {
        "title": "SIMCardGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "sim_card_group"
          },
          "default": {
            "description": "Indicates whether the SIM card group is the users default group.<br/>The default group is created for the user and can not be removed.",
            "type": "boolean",
            "example": true,
            "readOnly": true
          },
          "name": {
            "description": "A user friendly name for the SIM card group.",
            "type": "string",
            "example": "My Test Group"
          },
          "data_limit": {
            "type": "object",
            "description": "Upper limit on the amount of data the SIM cards, within the group, can use.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB"
              }
            }
          },
          "consumed_data": {
            "$ref": "#/components/schemas/ConsumedData"
          },
          "private_wireless_gateway_id": {
            "description": "The identification of the related Private Wireless Gateway resource.",
            "format": "uuid",
            "type": "string",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "default": null
          },
          "wireless_blocklist_id": {
            "description": "The identification of the related Wireless Blocklist resource.",
            "format": "uuid",
            "type": "string",
            "example": "a13bc415-7966-43bf-90d4-63cc76275289",
            "default": null
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SIMCardGroupAction": {
        "type": "object",
        "title": "SIMCardGroupAction",
        "description": "This object represents a SIM card group action request. It allows tracking the current status of an operation that impacts the SIM card group and SIM card in it.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "example": "sim_card_group_action",
            "readOnly": true
          },
          "sim_card_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "The SIM card group identification.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "type": {
            "type": "string",
            "description": "Represents the type of the operation requested.",
            "enum": [
              "set_private_wireless_gateway",
              "remove_private_wireless_gateway",
              "set_wireless_blocklist",
              "remove_wireless_blocklist"
            ],
            "example": "set_private_wireless_gateway"
          },
          "status": {
            "type": "string",
            "enum": [
              "in-progress",
              "completed",
              "failed"
            ],
            "example": "in-progress"
          },
          "settings": {
            "type": "object",
            "description": "A JSON object representation of the action params.",
            "properties": {
              "private_wireless_gateway_id": {
                "description": "The identification of the related Private Wireless Gateway resource.",
                "format": "uuid",
                "type": "string",
                "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SIMCardGroupCreate": {
        "title": "SIMCardGroupCreate",
        "type": "object",
        "properties": {
          "name": {
            "description": "A user friendly name for the SIM card group.",
            "type": "string",
            "example": "My Test Group"
          },
          "data_limit": {
            "type": "object",
            "description": "Upper limit on the amount of data the SIM cards, within the group, can use.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB"
              }
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "SIMCardGroupPatch": {
        "title": "SIMCardGroupPatch",
        "type": "object",
        "properties": {
          "name": {
            "description": "A user friendly name for the SIM card group.",
            "type": "string",
            "example": "My Test Group"
          },
          "data_limit": {
            "type": "object",
            "description": "Upper limit on the amount of data the SIM cards, within the group, can use.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB"
              }
            }
          }
        }
      },
      "SIMCardOrder": {
        "title": "SIMCardOrder",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "sim_card_order"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "description": "The amount of SIM cards requested in the SIM card order.",
            "example": 21
          },
          "cost": {
            "type": "object",
            "description": "An object representing the total cost of the order.",
            "properties": {
              "amount": {
                "type": "string",
                "description": "A string representing the cost amount.",
                "example": "2.32"
              },
              "currency": {
                "type": "string",
                "description": "Filter by ISO 4217 currency string.",
                "example": "USD"
              }
            },
            "example": {
              "amount": "2.52",
              "currency": "USD"
            }
          },
          "order_address": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Uniquely identifies the address for the order.",
                "example": "1293384261075731499"
              },
              "first_name": {
                "type": "string",
                "description": "The first name of the shipping recipient.",
                "example": "John"
              },
              "last_name": {
                "type": "string",
                "description": "The last name of the shipping recipient.",
                "example": "Smith"
              },
              "business_name": {
                "type": "string",
                "description": "The name of the business where the address is located.",
                "example": "Telnyx LLC"
              },
              "street_address": {
                "type": "string",
                "description": "The name of the street where the address is located.",
                "example": "600 Congress Avenue"
              },
              "extended_address": {
                "type": "string",
                "description": "Supplemental field for address information.",
                "example": "14th Floor"
              },
              "locality": {
                "type": "string",
                "description": "The name of the city where the address is located.",
                "example": "Austin"
              },
              "administrative_area": {
                "type": "string",
                "description": "State or province where the address is located.",
                "example": "TX"
              },
              "country_code": {
                "type": "string",
                "description": "The mobile operator two-character (ISO 3166-1 alpha-2) origin country code.",
                "example": "US"
              },
              "postal_code": {
                "type": "string",
                "description": "Postal code for the address.",
                "example": "78701"
              }
            },
            "description": "An object representing the address information from when the order was submitted.",
            "readOnly": true,
            "example": {
              "id": "1293384261075731499",
              "street_address": "600 Congress Avenue",
              "extended_address": "14th Floor",
              "locality": "Austin",
              "administrative_area": "TX",
              "country_code": "US",
              "postal_code": "78701"
            }
          },
          "tracking_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL used to get tracking information about the order.",
            "example": "http://www.example.com/"
          },
          "status": {
            "type": "string",
            "description": "The current status of the SIM Card order.<ul> <li><code>pending</code> - the order is waiting to be processed.</li> <li><code>processing</code> - the order is currently being processed.</li> <li><code>ready_to_ship</code> - the order is ready to be shipped to the specified <b>address</b>.</li> <li><code>shipped</code> - the order was shipped and is on its way to be delivered to the specified <b>address</b>.</li> <li><code>delivered</code> - the order was delivered to the specified <b>address</b>.</li> <li><code>canceled</code> - the order was canceled.</li> </ul>",
            "enum": [
              "pending",
              "processing",
              "ready_to_ship",
              "shipped",
              "delivered",
              "canceled"
            ],
            "example": "pending"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was last created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was last updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SIMCardOrderPreview": {
        "title": "SIMCardOrderPreview",
        "type": "object",
        "properties": {
          "total_cost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "description": "A string representing the cost amount.",
                "example": "2.32"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 currency string.",
                "example": "USD"
              }
            }
          },
          "shipping_cost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "description": "A string representing the cost amount.",
                "example": "2.32"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 currency string.",
                "example": "USD"
              }
            }
          },
          "sim_cards_cost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "description": "A string representing the cost amount.",
                "example": "2.32"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 currency string.",
                "example": "USD"
              }
            }
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "sim_card_order_preview",
            "readOnly": true
          },
          "quantity": {
            "type": "integer",
            "description": "The amount of SIM cards requested in the SIM card order.",
            "example": 21
          }
        }
      },
      "SIMCardPublicIP": {
        "type": "object",
        "title": "SIMCardPublicIP",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "sim_card_public_ip",
            "readOnly": true
          },
          "region_code": {
            "type": "string",
            "example": "dc2",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "example": "6b14e151-8493-4fa1-8664-1cc4e6d14158"
          },
          "type": {
            "type": "string",
            "enum": [
              "ipv4"
            ],
            "default": "ipv4",
            "example": "ipv4",
            "readOnly": true
          },
          "ip": {
            "type": "string",
            "description": "The provisioned IP address. This attribute will only be available when underlying resource status is in a \"provisioned\" status.",
            "example": "192.168.0.0",
            "readOnly": true,
            "default": null
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SIMCardRegistration": {
        "title": "SIMCardRegistration",
        "type": "object",
        "properties": {
          "sim_card_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "The group SIMCardGroup identification. This attribute can be <code>null</code> when it's present in an associated resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "tags": {
            "type": "array",
            "description": "Searchable tags associated with the SIM card",
            "items": {
              "type": "string"
            },
            "example": [
              "personal",
              "customers",
              "active-customers"
            ]
          },
          "registration_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "0000000001",
              "0000000002",
              "0000000003"
            ]
          },
          "status": {
            "type": "string",
            "description": "Status on which the SIM card will be set after being successful registered.",
            "enum": [
              "enabled",
              "disabled",
              "standby"
            ],
            "example": "standby",
            "default": "enabled"
          }
        },
        "required": [
          "registration_codes"
        ]
      },
      "SIMCardRegistrationCodeValidation": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "sim_card_registration_code_validation"
          },
          "registration_code": {
            "type": "string",
            "description": "The 10-digit SIM card registration code",
            "example": "0123456789"
          },
          "valid": {
            "type": "boolean",
            "description": "The attribute that denotes whether the code is valid or not",
            "example": false
          },
          "invalid_detail": {
            "type": [
              "string",
              "null"
            ],
            "description": "The validation message",
            "example": "This code has already been used."
          }
        }
      },
      "SIMCardRegistrationCodeValidations": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SIMCardRegistrationCodeValidation"
            }
          }
        }
      },
      "SIMCardStatus": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "enum": [
              "registering",
              "enabling",
              "enabled",
              "disabling",
              "disabled",
              "data_limit_exceeded",
              "setting_standby",
              "standby"
            ],
            "description": "The current status of the SIM card. It will be one of the following: <br/>\n<ul>\n <li><code>registering</code> - the card is being registered</li>\n <li><code>enabling</code> - the card is being enabled</li>\n <li><code>enabled</code> - the card is enabled and ready for use</li>\n <li><code>disabling</code> - the card is being disabled</li>\n <li><code>disabled</code> - the card has been disabled and cannot be used</li>\n <li><code>data_limit_exceeded</code> - the card has exceeded its data consumption limit</li>\n <li><code>setting_standby</code> - the process to set the card in stand by is in progress</li>\n <li><code>standby</code> - the card is in stand by</li>\n</ul>\nTransitioning between the enabled and disabled states may take a period of time.\n",
            "readOnly": true,
            "example": "enabled"
          },
          "reason": {
            "type": "string",
            "description": "It describes why the SIM card is in the current status.",
            "readOnly": true,
            "example": "The SIM card is active, ready to connect to networks and consume data."
          }
        }
      },
      "SIPReferTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "refer"
            ]
          },
          "refer": {
            "$ref": "#/components/schemas/SIPReferToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "refer"
        ],
        "title": "SIPReferTool"
      },
      "SIPReferToolParams": {
        "properties": {
          "targets": {
            "type": "array",
            "description": "The different possible targets of the SIP refer. The assistant will be able to choose one of the targets to refer the call to.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the target.",
                  "example": "Support"
                },
                "sip_address": {
                  "type": "string",
                  "description": "The SIP URI to which the call will be referred.",
                  "example": "sip:username@sip.non-telnyx-address.com"
                },
                "sip_auth_username": {
                  "type": "string",
                  "description": "SIP Authentication username used for SIP challenges."
                },
                "sip_auth_password": {
                  "type": "string",
                  "description": "SIP Authentication password used for SIP challenges."
                }
              },
              "required": [
                "name",
                "sip_address"
              ]
            }
          },
          "sip_headers": {
            "description": "SIP headers to be added to the SIP REFER. Currently only User-to-User and Diversion headers are supported.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "enum": [
                    "User-to-User",
                    "Diversion"
                  ]
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `{{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret.",
                  "type": "string"
                }
              }
            }
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP REFER.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `{{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret.",
                  "type": "string"
                }
              }
            }
          }
        },
        "type": "object",
        "required": [
          "targets"
        ],
        "title": "SIPReferToolParams"
      },
      "SMSFallback": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number in +E.164 format",
            "example": "+13125551234"
          },
          "text": {
            "type": "string",
            "description": "Text (maximum 3072 characters)",
            "example": "Hello world!"
          }
        }
      },
      "SSLCertificate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the SSL certificate"
          },
          "issued_to": {
            "type": "object",
            "properties": {
              "common_name": {
                "type": "string",
                "description": "The common name of the entity the certificate was issued to"
              },
              "organization": {
                "type": "string",
                "description": "The organization the certificate was issued to"
              },
              "organization_unit": {
                "type": "string",
                "description": "The organizational unit the certificate was issued to"
              }
            }
          },
          "issued_by": {
            "type": "object",
            "properties": {
              "common_name": {
                "type": "string",
                "description": "The common name of the entity the certificate was issued by"
              },
              "organization": {
                "type": "string",
                "description": "The organization the certificate was issued by"
              },
              "organization_unit": {
                "type": "string",
                "description": "The organizational unit the certificate was issued by"
              }
            }
          },
          "valid_from": {
            "type": "string",
            "format": "date-time",
            "description": "The time the certificate is valid from",
            "example": "2020-01-01T00:00:00Z"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time",
            "description": "The time the certificate is valid to",
            "example": "2020-01-01T00:00:00Z"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Time when SSL certificate was uploaded",
            "example": "2020-01-01T00:00:00Z"
          }
        }
      },
      "ScheduledEventResponse": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/ScheduledPhoneCallEventResponse"
          },
          {
            "$ref": "#/components/schemas/ScheduledSmsEventResponse"
          }
        ],
        "title": "ScheduledEventResponse",
        "description": "Union type for different scheduled event response types"
      },
      "ScheduledPhoneCallEventResponse": {
        "properties": {
          "telnyx_conversation_channel": {
            "$ref": "#/components/schemas/ConversationChannelType"
          },
          "telnyx_end_user_target": {
            "type": "string",
            "title": "Telnyx End User Target"
          },
          "telnyx_agent_target": {
            "type": "string",
            "title": "Telnyx Agent Target"
          },
          "scheduled_at_fixed_datetime": {
            "type": "string",
            "format": "date-time",
            "title": "Scheduled At Fixed Datetime"
          },
          "assistant_id": {
            "type": "string",
            "title": "Assistant Id"
          },
          "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
          },
          "retry_attempts": {
            "type": "integer",
            "title": "Retry Attempts"
          },
          "scheduled_event_id": {
            "type": "string",
            "title": "Scheduled Event Id"
          },
          "conversation_id": {
            "type": "string",
            "title": "Conversation Id"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventStatus"
              }
            ],
            "default": "pending"
          },
          "conversation_metadata": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "type": "object",
            "title": "Conversation Metadata"
          },
          "dynamic_variables": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "description": "A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.",
            "title": "Dynamic Variables"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Errors"
          },
          "call_status": {
            "title": "Call Status",
            "type": "string",
            "description": "Values: busy, canceled, no-answer, ringing, completed, failed, in-progress"
          },
          "call_duration": {
            "title": "Call Duration",
            "type": "integer",
            "description": "Duration of the call in seconds"
          },
          "max_retries_client_errors": {
            "type": "integer",
            "title": "Max Retries Client Errors",
            "description": "Configure number of retries on client errors: busy, no-answer, failed, canceled (caller hung up before the callee answered)",
            "default": 0
          },
          "retry_interval_secs": {
            "title": "Retry Interval Secs",
            "type": "integer"
          },
          "call_attempts": {
            "title": "Call Attempts",
            "items": {
              "$ref": "#/components/schemas/AssistantScheduledCallAttempt"
            },
            "type": "array"
          },
          "dispatched_at": {
            "title": "Dispatched At",
            "type": "string",
            "format": "date-time",
            "description": "Date time at which call was sent"
          }
        },
        "type": "object",
        "required": [
          "telnyx_conversation_channel",
          "telnyx_end_user_target",
          "telnyx_agent_target",
          "scheduled_at_fixed_datetime",
          "assistant_id"
        ],
        "title": "ScheduledPhoneCallEventResponse"
      },
      "ScheduledSmsEventResponse": {
        "properties": {
          "telnyx_conversation_channel": {
            "$ref": "#/components/schemas/ConversationChannelType"
          },
          "telnyx_end_user_target": {
            "type": "string",
            "title": "Telnyx End User Target"
          },
          "telnyx_agent_target": {
            "type": "string",
            "title": "Telnyx Agent Target"
          },
          "scheduled_at_fixed_datetime": {
            "type": "string",
            "format": "date-time",
            "title": "Scheduled At Fixed Datetime"
          },
          "assistant_id": {
            "type": "string",
            "title": "Assistant Id"
          },
          "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "scheduled_event_id": {
            "type": "string",
            "title": "Scheduled Event Id"
          },
          "conversation_id": {
            "type": "string",
            "title": "Conversation Id"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventStatus"
              }
            ],
            "default": "pending"
          },
          "conversation_metadata": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "type": "object",
            "title": "Conversation Metadata"
          },
          "dynamic_variables": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "description": "A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.",
            "title": "Dynamic Variables"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Errors"
          }
        },
        "type": "object",
        "required": [
          "telnyx_conversation_channel",
          "telnyx_end_user_target",
          "telnyx_agent_target",
          "scheduled_at_fixed_datetime",
          "assistant_id",
          "text"
        ],
        "title": "ScheduledSmsEventResponse"
      },
      "SearchedSIMCardGroup": {
        "title": "SIMCardGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "sim_card_group"
          },
          "default": {
            "description": "Indicates whether the SIM card group is the users default group.<br/>The default group is created for the user and can not be removed.",
            "type": "boolean",
            "example": true,
            "readOnly": true
          },
          "name": {
            "description": "A user friendly name for the SIM card group.",
            "type": "string",
            "example": "My Test Group"
          },
          "data_limit": {
            "type": "object",
            "description": "Upper limit on the amount of data the SIM cards, within the group, can use.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB"
              }
            }
          },
          "consumed_data": {
            "$ref": "#/components/schemas/ConsumedData"
          },
          "sim_card_count": {
            "description": "The number of SIM cards associated with the group.",
            "type": "integer",
            "example": 10,
            "default": 0
          },
          "private_wireless_gateway_id": {
            "description": "The identification of the related Private Wireless Gateway resource.",
            "format": "uuid",
            "type": "string",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "default": null
          },
          "wireless_blocklist_id": {
            "description": "The identification of the related Wireless Blocklist resource.",
            "format": "uuid",
            "type": "string",
            "example": "5aa584f6-14b1-41b2-8e01-1c04d1ee77c1",
            "default": null
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SendDTMFRequest": {
        "type": "object",
        "title": "Send DTMF Request",
        "required": [
          "digits"
        ],
        "properties": {
          "digits": {
            "description": "DTMF digits to send. Valid digits are 0-9, A-D, *, and #. Pauses can be added using w (0.5s) and W (1s).",
            "type": "string",
            "example": "1www2WABCDw9"
          },
          "duration_millis": {
            "description": "Specifies for how many milliseconds each digit will be played in the audio stream. Ranges from 100 to 500ms",
            "type": "integer",
            "format": "int32",
            "example": 500,
            "default": 250
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "digits": "1www2WABCDw9",
          "duration_millis": 500,
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "SendFaxMultipartRequest": {
        "type": "object",
        "title": "Send fax multipart request",
        "required": [
          "connection_id",
          "contents",
          "from",
          "to"
        ],
        "properties": {
          "connection_id": {
            "$ref": "#/components/schemas/ConnectionId"
          },
          "contents": {
            "description": "The file you want to upload. The maximum allowed size is 20 MB. Supported formats: PDF, TIFF, JPEG, PNG, DOC, DOCX, RTF, and TXT. contents and media_name/media_url can't be submitted together.",
            "type": "string",
            "format": "binary"
          },
          "to": {
            "$ref": "#/components/schemas/To"
          },
          "from": {
            "$ref": "#/components/schemas/From"
          },
          "quality": {
            "$ref": "#/components/schemas/Quality"
          },
          "t38_enabled": {
            "$ref": "#/components/schemas/T38Enabled"
          },
          "monochrome": {
            "$ref": "#/components/schemas/Monochrome"
          },
          "store_media": {
            "$ref": "#/components/schemas/StoreMedia"
          },
          "store_preview": {
            "$ref": "#/components/schemas/StorePreview"
          }
        }
      },
      "SendFaxRequest": {
        "type": "object",
        "title": "Send fax request",
        "required": [
          "connection_id",
          "from",
          "to"
        ],
        "properties": {
          "connection_id": {
            "description": "The connection ID to send the fax with.",
            "type": "string",
            "example": "234423"
          },
          "media_url": {
            "$ref": "#/components/schemas/MediaUrl"
          },
          "media_name": {
            "$ref": "#/components/schemas/MediaName"
          },
          "to": {
            "$ref": "#/components/schemas/To"
          },
          "from": {
            "$ref": "#/components/schemas/From"
          },
          "from_display_name": {
            "description": "The `from_display_name` string to be used as the caller id name (SIP From Display Name) presented to the destination (`to` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and -_~!.+ special characters. If ommited, the display name will be the same as the number in the `from` field.",
            "type": "string",
            "example": "Company Name"
          },
          "quality": {
            "$ref": "#/components/schemas/Quality"
          },
          "t38_enabled": {
            "description": "The flag to disable the T.38 protocol.",
            "type": "boolean",
            "default": true
          },
          "monochrome": {
            "description": "The flag to enable monochrome, true black and white fax results.",
            "type": "boolean",
            "default": false
          },
          "black_threshold": {
            "description": "The black threshold percentage for monochrome faxes. Only applicable if `monochrome` is set to `true`.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 95
          },
          "store_media": {
            "description": "Should fax media be stored on temporary URL. It does not support media_name, they can't be submitted together.",
            "type": "boolean",
            "default": false
          },
          "store_preview": {
            "description": "Should fax preview be stored on temporary URL.",
            "type": "boolean",
            "default": false
          },
          "preview_format": {
            "description": "The format for the preview file in case the `store_preview` is `true`.",
            "type": "string",
            "enum": [
              "pdf",
              "tiff"
            ],
            "default": "tiff"
          },
          "webhook_url": {
            "description": "Use this field to override the URL to which Telnyx will send subsequent webhooks for this fax.",
            "type": "string",
            "example": "https://www.example.com/server-b/"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        }
      },
      "SendMessageTool": {
        "description": "The send_message tool allows the assistant to send SMS or MMS messages to the end user. The 'to' and 'from' addresses are automatically determined from the conversation context, and the message text is generated by the assistant unless a message_template is provided for runtime variable substitution.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "send_message"
            ]
          },
          "send_message": {
            "type": "object",
            "properties": {
              "message_template": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Optional message template with dynamic variable support using mustache syntax (e.g., {{variable_name}}). When set, the assistant will use this template for the SMS body instead of generating one. Dynamic variables like {{telnyx_end_user_target}}, {{telnyx_agent_target}}, and custom webhook-provided variables will be resolved at runtime."
              }
            },
            "additionalProperties": true
          }
        },
        "type": "object",
        "required": [
          "type",
          "send_message"
        ],
        "title": "SendMessageTool"
      },
      "SendRecordingUrl": {
        "type": "boolean",
        "description": "Whether to send RecordingUrl in webhooks.",
        "example": false,
        "default": true
      },
      "SendSIPInfoRequest": {
        "type": "object",
        "title": "Send SIP Info Request",
        "required": [
          "content_type",
          "body"
        ],
        "properties": {
          "content_type": {
            "description": "Content type of the INFO body. Must be MIME type compliant. There is a 1,400 bytes limit",
            "type": "string",
            "example": "application/json"
          },
          "body": {
            "description": "Content of the SIP INFO",
            "type": "string",
            "example": "{\"key\": \"value\", \"numValue\": 100}"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "content_type": "application/json",
          "body": "{\"key\": \"value\", \"numValue\": 100}",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "Serve": {
        "properties": {
          "version_id": {
            "title": "Version Id",
            "type": "string"
          },
          "rollout": {
            "title": "Rollout",
            "items": {
              "$ref": "#/components/schemas/RolloutSlot"
            },
            "type": "array"
          }
        },
        "type": "object",
        "title": "Serve",
        "description": "What a rule serves when matched.\n\nExactly one of:\n- ``version_id`` — serve a specific version\n- ``rollout`` — weighted random across versions; weights must sum to\n  less than 100, with the leftover routing to the main version"
      },
      "ServiceDetail": {
        "type": "object",
        "properties": {
          "cost_type": {
            "type": "string",
            "description": "Type of cost (MRC or OTC)",
            "example": "MRC"
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Local DIDs"
          },
          "cost": {
            "type": "string",
            "description": "Cost per unit as decimal string",
            "example": "1.50"
          }
        },
        "required": [
          "cost_type",
          "name",
          "cost"
        ]
      },
      "ServicePlan": {
        "type": "string",
        "description": "Indicates the coverage of the termination regions.",
        "enum": [
          "global"
        ],
        "example": "global",
        "default": "global"
      },
      "SessionAnalysisError": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      },
      "SessionAnalysisErrorResponse": {
        "type": "object",
        "required": [
          "errors"
        ],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionAnalysisError"
            }
          }
        }
      },
      "SessionAnalysisResponse": {
        "type": "object",
        "required": [
          "session_id",
          "cost",
          "root",
          "meta"
        ],
        "properties": {
          "session_id": {
            "type": "string",
            "description": "Identifier for the analyzed session."
          },
          "cost": {
            "$ref": "#/components/schemas/CostSummary"
          },
          "root": {
            "$ref": "#/components/schemas/EventNode"
          },
          "meta": {
            "$ref": "#/components/schemas/ResponseMeta"
          }
        }
      },
      "SettingsDataErrorMessage": {
        "title": "SettingsDataErrorMessage",
        "required": [
          "message"
        ],
        "type": "object",
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "SharedCampaign": {
        "title": "SharedCampaign",
        "required": [
          "brandId",
          "campaignId",
          "usecase"
        ],
        "type": "object",
        "properties": {
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Alphanumeric identifier of the brand associated with this campaign."
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC."
          },
          "createDate": {
            "title": "Createdate",
            "type": "string",
            "description": "Unix timestamp when campaign was created."
          },
          "status": {
            "title": "Status",
            "type": "string",
            "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. "
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand."
          }
        },
        "description": "Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier - **campaignId**. Once a campaign is activated, limited information is published to the NetNumber OSR service for consumption by members of the ecosystem. When a campaign is suspended(reversible) or expired(non-reversible), campaign data is deleted from the OSR service. Most attributes of campaignare immutable, including **usecase**, **vertical**, **brandId** and **cspId**."
      },
      "SharedCampaignRecordSet": {
        "title": "SharedCampaignRecordSet",
        "type": "object",
        "properties": {
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedCampaign"
            }
          },
          "totalRecords": {
            "title": "Totalrecords",
            "type": "integer"
          }
        }
      },
      "SharedToolListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SharedToolResponse"
            },
            "type": "array",
            "title": "Data"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "title": "SharedToolListResponse"
      },
      "SharedToolResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "tool_definition": {
            "additionalProperties": true,
            "type": "object",
            "title": "Tool Definition"
          },
          "timeout_ms": {
            "type": "integer",
            "title": "Timeout Ms",
            "default": 5000
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "id",
          "type",
          "tool_definition"
        ],
        "title": "SharedToolResponse"
      },
      "ShortCode": {
        "type": "object",
        "required": [
          "messaging_profile_id"
        ],
        "example": {
          "record_type": "short_code",
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "short_code": "12345",
          "country_code": "US",
          "messaging_profile_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "tags": [
            "test_customer"
          ],
          "created_at": "2019-01-23T18:10:02.574Z",
          "updated_at": "2019-01-23T18:10:02.574Z"
        },
        "properties": {
          "record_type": {
            "type": "string",
            "example": "short_code",
            "enum": [
              "short_code"
            ],
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "short_code": {
            "type": "string",
            "description": "Short digit sequence used to address messages.",
            "readOnly": true
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code.",
            "pattern": "^[A-Z]{2}$",
            "example": "US",
            "readOnly": true
          },
          "messaging_profile_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unique identifier for a messaging profile."
          },
          "tags": {
            "type": [
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          }
        }
      },
      "SimCardDataUsageNotification": {
        "type": "object",
        "description": "The SIM card individual data usage notification information.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "79228acc-3f08-4e70-ac68-cb5aae8b537a"
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identification UUID of the related SIM card resource.",
            "example": "b34c1683-cd85-4493-b9a5-315eb4bc5e19"
          },
          "record_type": {
            "type": "string",
            "example": "sim_card_data_usage_notification",
            "readOnly": true
          },
          "threshold": {
            "type": "object",
            "description": "Data usage threshold that will trigger the notification.",
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.1"
              },
              "unit": {
                "type": "string",
                "example": "MB",
                "enum": [
                  "MB",
                  "GB"
                ]
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "79228acc-3f08-4e70-ac68-cb5aae8b537a",
          "sim_card_id": "b34c1683-cd85-4493-b9a5-315eb4bc5e19",
          "threshold": {
            "amount": "2048.0",
            "unit": "MB"
          },
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z"
        }
      },
      "SimCardOrderCreate": {
        "title": "SimCardOrderCreate",
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string",
            "description": "Uniquely identifies the address for the order.",
            "example": "1293384261075731499"
          },
          "quantity": {
            "description": "The amount of SIM cards to order.",
            "type": "integer",
            "minimum": 1,
            "example": 23
          }
        },
        "required": [
          "address_id",
          "quantity"
        ]
      },
      "SimCardUsageDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for this SIM Card Usage",
            "example": "3ca7bd3d-7d82-4e07-9df4-009123068320",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "description": "Event creation time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "closed_at": {
            "type": "string",
            "description": "Event close time",
            "format": "date-time",
            "example": "2020-07-01T00:00:00Z"
          },
          "ip_address": {
            "type": "string",
            "description": "Ip address that generated the event",
            "example": "100.64.1.2"
          },
          "downlink_data": {
            "type": "number",
            "description": "Number of megabytes downloaded",
            "example": 0.124
          },
          "imsi": {
            "type": "string",
            "description": "International Mobile Subscriber Identity",
            "example": "311210393720093"
          },
          "mcc": {
            "type": "string",
            "description": "Mobile country code",
            "example": "204"
          },
          "mnc": {
            "type": "string",
            "description": "Mobile network code",
            "example": "69"
          },
          "currency": {
            "type": "string",
            "description": "Telnyx account currency used to describe monetary values, including billing cost",
            "example": "USD"
          },
          "data_unit": {
            "type": "string",
            "description": "Unit of wireless link consumption",
            "example": "MB"
          },
          "data_rate": {
            "type": "string",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing cost",
            "example": "0.06000"
          },
          "sim_group_name": {
            "type": "string",
            "description": "Sim group name for sim card",
            "example": "SIMBillingInfo test - otheraccount"
          },
          "sim_card_id": {
            "type": "string",
            "description": "Unique identifier for SIM card",
            "example": "7aa66686-b39f-456d-8edc-5b6cffb1432a"
          },
          "sim_group_id": {
            "type": "string",
            "description": "Unique identifier for SIM group",
            "example": "6c07e2e9-cbc0-49ba-ac0d-c59b59646bb1"
          },
          "sim_card_tags": {
            "type": "string",
            "description": "User-provided tags",
            "example": "mytag"
          },
          "phone_number": {
            "type": "string",
            "description": "Telephone number associated to SIM card",
            "example": "+15188490209"
          },
          "uplink_data": {
            "type": "number",
            "description": "Number of megabytes uploaded",
            "example": 0.7653
          },
          "data_cost": {
            "type": "number",
            "description": "Data cost",
            "example": 0.029283
          },
          "record_type": {
            "type": "string",
            "example": "sim_card_usage",
            "default": "sim_card_usage"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "SimpleLine": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "simple"
            ],
            "example": "simple"
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Port Out"
          },
          "alias": {
            "type": "string",
            "description": "Service alias",
            "example": "port_out"
          },
          "quantity": {
            "type": "integer",
            "description": "Number of items",
            "example": 100
          },
          "amount": {
            "type": "string",
            "description": "Total amount as decimal string",
            "example": "15.75"
          }
        },
        "required": [
          "type",
          "name",
          "alias",
          "quantity",
          "amount"
        ]
      },
      "SimpleSIMCard": {
        "type": "object",
        "title": "SIMCard",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "example": "sim_card",
            "readOnly": true
          },
          "status": {
            "$ref": "#/components/schemas/SIMCardStatus"
          },
          "type": {
            "type": "string",
            "description": "The type of SIM card",
            "readOnly": true,
            "example": "physical",
            "enum": [
              "physical",
              "esim"
            ]
          },
          "iccid": {
            "type": "string",
            "description": "The ICCID is the identifier of the specific SIM card/chip. Each SIM is internationally identified by its integrated circuit card identifier (ICCID). ICCIDs are stored in the SIM card's memory and are also engraved or printed on the SIM card body during a process called personalization.\n",
            "readOnly": true,
            "example": "89310410106543789301"
          },
          "imsi": {
            "type": "string",
            "description": "SIM cards are identified on their individual network operators by a unique International Mobile Subscriber Identity (IMSI). <br/>\nMobile network operators connect mobile phone calls and communicate with their market SIM cards using their IMSIs. The IMSI is stored in the Subscriber  Identity Module (SIM) inside the device and is sent by the device to the appropriate network. It is used to acquire the details of the device in the Home  Location Register (HLR) or the Visitor Location Register (VLR).\n",
            "readOnly": true,
            "example": "081932214823362973"
          },
          "msisdn": {
            "type": "string",
            "description": "Mobile Station International Subscriber Directory Number (MSISDN) is a number used to identify a mobile phone number internationally. <br/>\nMSISDN is defined by the E.164 numbering plan. It includes a country code and a National Destination Code which identifies the subscriber's operator.\n",
            "readOnly": true,
            "example": "+13109976224"
          },
          "sim_card_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "The group SIMCardGroup identification. This attribute can be <code>null</code> when it's present in an associated resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "tags": {
            "type": "array",
            "description": "Searchable tags associated with the SIM card",
            "items": {
              "type": "string"
            },
            "example": [
              "personal",
              "customers",
              "active-customers"
            ]
          },
          "data_limit": {
            "type": "object",
            "description": "The SIM card individual data limit configuration.",
            "readOnly": true,
            "properties": {
              "amount": {
                "type": "string",
                "example": "2048.0"
              },
              "unit": {
                "type": "string",
                "example": "MB",
                "enum": [
                  "MB",
                  "GB"
                ]
              }
            }
          },
          "current_billing_period_consumed_data": {
            "type": "object",
            "description": "The SIM card consumption so far in the current billing cycle.",
            "readOnly": true,
            "properties": {
              "amount": {
                "type": "string",
                "example": "2049.0"
              },
              "unit": {
                "type": "string",
                "example": "MB",
                "default": "MB"
              }
            }
          },
          "actions_in_progress": {
            "type": "boolean",
            "description": "Indicate whether the SIM card has any pending (in-progress) actions.",
            "readOnly": true,
            "example": true,
            "default": false
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "esim_installation_status": {
            "type": [
              "string",
              "null"
            ],
            "description": "The installation status of the eSIM. Only applicable for eSIM cards.",
            "readOnly": true,
            "example": "released",
            "enum": [
              "released",
              "disabled"
            ]
          },
          "version": {
            "type": "string",
            "description": "The version of the SIM card.",
            "readOnly": true,
            "example": "4.3"
          },
          "resources_with_in_progress_actions": {
            "type": "array",
            "description": "List of resources with actions in progress.",
            "readOnly": true,
            "items": {
              "type": "object"
            },
            "example": []
          },
          "eid": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Embedded Identity Document (eID) for eSIM cards.",
            "readOnly": true,
            "example": null
          },
          "authorized_imeis": {
            "type": [
              "array",
              "null"
            ],
            "description": "List of IMEIs authorized to use a given SIM card.",
            "items": {
              "type": "string"
            },
            "example": [
              "106516771852751",
              "534051870479563",
              "508821468377961"
            ]
          },
          "voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether voice services are enabled for the SIM card.",
            "readOnly": true,
            "example": false,
            "default": false
          }
        }
      },
      "SimplifiedOTAUpdate": {
        "type": "object",
        "title": "OTAUpdate",
        "description": "This object represents an Over the Air (OTA) update request. It allows tracking the current status of a operation that apply settings in a particular SIM card. <br/><br/>",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "example": "ota_update",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identification UUID of the related SIM card resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "type": {
            "type": "string",
            "description": "Represents the type of the operation requested. This will relate directly to the source of the request.",
            "enum": [
              "sim_card_network_preferences"
            ],
            "example": "sim_card_network_preferences"
          },
          "status": {
            "type": "string",
            "enum": [
              "in-progress",
              "completed",
              "failed"
            ],
            "example": "in-progress"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "SingleManagedAccountGlobalOutboundChannels": {
        "title": "Global Outbound Channels Details for a Managed Account",
        "properties": {
          "channel_limit": {
            "type": "integer",
            "description": "Integer value that indicates the number of allocatable global outbound channels that are allocated to the managed account. If the value is 0 then the account will have no usable channels and will not be able to perform outbound calling.",
            "example": 30
          },
          "email": {
            "type": "string",
            "description": "The email of the managed account.",
            "example": "customer@example.org"
          },
          "id": {
            "type": "string",
            "description": "The user ID of the managed account.",
            "example": "096abcde-1122-3344-ab77-ff0123456789"
          },
          "manager_account_id": {
            "type": "string",
            "description": "The user ID of the manager of the account.",
            "example": "beeabcde-1122-3344-ab77-ff0123456789"
          },
          "record_type": {
            "type": "string",
            "description": "The name of the type of data in the response.",
            "example": "managed_account_global_outbound_settings"
          }
        },
        "example": {
          "channel_limit": 30,
          "email": "allocate_demo@customer.com",
          "id": "096abcde-1122-3344-ab77-ff0123456789",
          "manager_account_id": "beeabcde-1122-3344-ab77-ff0123456789",
          "record_type": "managed_account_global_outbound_settings"
        },
        "type": "object"
      },
      "SipHeader": {
        "type": "object",
        "title": "SIP Header",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the header to add.",
            "type": "string",
            "enum": [
              "User-to-User"
            ],
            "example": "User-to-User"
          },
          "value": {
            "description": "The value of the header.",
            "type": "string",
            "example": "value"
          }
        },
        "example": {
          "name": "User-to-User",
          "value": "value"
        }
      },
      "SiprecConnector": {
        "type": "object",
        "title": "SIPREC connector configuration",
        "required": [
          "host",
          "port",
          "name"
        ],
        "properties": {
          "host": {
            "description": "Hostname/IPv4 address of the SIPREC SRS.",
            "type": "string",
            "example": "siprec.telnyx.com"
          },
          "port": {
            "description": "Port for the SIPREC SRS.",
            "type": "integer",
            "example": 5060
          },
          "name": {
            "description": "Name for the SIPREC connector resource.",
            "type": "string",
            "example": "my-siprec-connector"
          },
          "app_subdomain": {
            "description": "Subdomain to route the call when using Telnyx SRS (optional for non-Telnyx SRS).",
            "type": "string",
            "example": "my-app-domain"
          }
        },
        "example": {
          "host": "siprec.telnyx.com",
          "port": 5060,
          "name": "my-siprec-connector",
          "app_subdomain": "my-app"
        }
      },
      "SiprecConnectorResponse": {
        "type": "object",
        "title": "SIPREC Connector Response",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "title": "SIPREC Connector",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "siprec_connector"
              },
              "name": {
                "type": "string",
                "description": "Name for the SIPREC connector resource.",
                "example": "siprec-connector"
              },
              "host": {
                "type": "string",
                "description": "Hostname/IPv4 address of the SIPREC SRS.",
                "example": "siprec.telnyx.com"
              },
              "port": {
                "type": "integer",
                "description": "Port for the SIPREC SRS.",
                "example": 5060
              },
              "app_subdomain": {
                "type": "string",
                "description": "Subdomain to route calls when using Telnyx SRS (optional).",
                "example": "my-app-domain"
              },
              "created_at": {
                "type": "string",
                "description": "ISO 8601 formatted date/time of creation.",
                "example": "2024-01-23T18:10:02.574Z"
              },
              "updated_at": {
                "type": "string",
                "description": "ISO 8601 formatted date/time of last update.",
                "example": "2024-01-23T18:10:02.574Z"
              }
            }
          }
        }
      },
      "SkipTurnTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "skip_turn"
            ]
          },
          "skip_turn": {
            "$ref": "#/components/schemas/SkipTurnToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "skip_turn"
        ],
        "title": "SkipTurnTool"
      },
      "SkipTurnToolParams": {
        "properties": {
          "description": {
            "type": "string",
            "default": "This tool is used to skip the assistant turn without producing a response.",
            "description": "The description of the function that will be passed to the assistant."
          }
        },
        "type": "object",
        "title": "SkipTurnToolParams"
      },
      "SlimPhoneNumberDetailed": {
        "type": "object",
        "example": {
          "id": "1293384261075731499",
          "record_type": "phone_number",
          "phone_number": "+19705555098",
          "country_iso_alpha2": "US",
          "status": "active",
          "external_pin": "1234",
          "connection_id": "1293384261075731499",
          "customer_reference": "customer-reference",
          "billing_group_id": "86f58db9-0fe3-4adc-9d1f-46e66e6e9323",
          "emergency_enabled": true,
          "emergency_address_id": "1315261609962112019",
          "emergency_status": "active",
          "call_forwarding_enabled": true,
          "cnam_listing_enabled": true,
          "caller_id_name_enabled": true,
          "call_recording_enabled": true,
          "t38_fax_gateway_enabled": true,
          "phone_number_type": "local",
          "inbound_call_screening": "disabled",
          "purchased_at": "2019-10-23T18:10:00.000Z",
          "created_at": "2019-10-23T18:10:00.000Z",
          "updated_at": "2019-10-24T18:10:00.000Z",
          "hd_voice_enabled": true
        },
        "properties": {
          "id": {
            "$ref": "#/components/schemas/numbers_IntId"
          },
          "record_type": {
            "type": "string",
            "example": "phone_number_slim",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "phone_number": {
            "type": "string",
            "description": "The +E.164-formatted phone number associated with this record.",
            "readOnly": true
          },
          "country_iso_alpha2": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the phone number.",
            "example": "US",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "The phone number's current status.",
            "enum": [
              "purchase-pending",
              "purchase-failed",
              "port-pending",
              "port-failed",
              "active",
              "deleted",
              "emergency-only",
              "ported-out",
              "port-out-pending",
              "requirement-info-pending",
              "requirement-info-under-review",
              "requirement-info-exception",
              "provision-pending"
            ],
            "readOnly": true
          },
          "external_pin": {
            "type": "string",
            "description": "If someone attempts to port your phone number away from Telnyx and your phone number has an external PIN set, Telnyx will attempt to verify that you provided the correct external PIN to the winning carrier. Note that not all carriers cooperate with this security mechanism."
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the connection associated with the phone number."
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "billing_group_id": {
            "type": "string",
            "description": "Identifies the billing group associated with the phone number."
          },
          "emergency_enabled": {
            "type": "boolean",
            "description": "Indicates whether emergency services are enabled for this number.",
            "readOnly": true
          },
          "emergency_address_id": {
            "type": "string",
            "description": "Identifies the emergency address associated with the phone number.",
            "readOnly": true
          },
          "emergency_status": {
            "type": "string",
            "description": "Indicates the status of the provisioning of emergency services for the phone number. This field contains information about activity that may be ongoing for a number where it either is being provisioned or deprovisioned but is not yet enabled/disabled.",
            "enum": [
              "active",
              "deprovisioning",
              "disabled",
              "provisioning",
              "provisioning-failed"
            ]
          },
          "call_forwarding_enabled": {
            "type": "boolean",
            "default": true,
            "description": "Indicates if call forwarding will be enabled for this number if forwards_to and forwarding_type are filled in. Defaults to true for backwards compatibility with APIV1 use of numbers endpoints.",
            "readOnly": true
          },
          "cnam_listing_enabled": {
            "type": "boolean",
            "description": "Indicates whether a CNAM listing is enabled for this number.",
            "readOnly": true
          },
          "caller_id_name_enabled": {
            "type": "boolean",
            "description": "Indicates whether caller ID is enabled for this number.",
            "readOnly": true
          },
          "call_recording_enabled": {
            "type": "boolean",
            "description": "Indicates whether call recording is enabled for this number.",
            "readOnly": true
          },
          "t38_fax_gateway_enabled": {
            "type": "boolean",
            "description": "Indicates whether T38 Fax Gateway for inbound calls to this number.",
            "readOnly": true
          },
          "purchased_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was purchased.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "description": "The phone number's type.\nNote: For numbers purchased prior to July 2023 or when fetching a number's details immediately after a purchase completes, the legacy values `tollfree`, `shortcode` or `longcode` may be returned instead.",
            "enum": [
              "local",
              "toll_free",
              "mobile",
              "national",
              "shared_cost",
              "landline",
              "tollfree",
              "shortcode",
              "longcode"
            ],
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          },
          "hd_voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether HD voice is enabled for this number.",
            "readOnly": true
          },
          "inbound_call_screening": {
            "type": "string",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ],
            "default": "disabled",
            "description": "The inbound_call_screening setting is a phone number configuration option variable that allows users to configure their settings to block or flag fraudulent calls. It can be set to disabled, reject_calls, or flag_calls. This feature has an additional per-number monthly cost associated with it."
          }
        }
      },
      "SoundModifications": {
        "type": "object",
        "title": "Sound modifications",
        "description": "Use this field to modify sound effects, for example adjust the pitch.",
        "properties": {
          "pitch": {
            "description": "Set the pitch directly, value should be > 0, default 1 (lower = lower tone)",
            "type": "number",
            "format": "float",
            "example": 0.8
          },
          "semitone": {
            "description": "Adjust the pitch in semitones, values should be between -14 and 14, default 0",
            "type": "number",
            "format": "float",
            "example": -10
          },
          "octaves": {
            "description": "Adjust the pitch in octaves, values should be between -1 and 1, default 0",
            "type": "number",
            "format": "float",
            "example": -0.5
          },
          "track": {
            "description": "The track to which the sound modifications will be applied. Accepted values are `inbound` or `outbound`",
            "type": "string",
            "example": "inbound",
            "default": "outbound"
          }
        },
        "example": {
          "pitch": 0.8,
          "semitone": -2,
          "octaves": 0.1,
          "track": "both"
        }
      },
      "SourceResponse": {
        "type": "object",
        "properties": {
          "pointer": {
            "type": "string",
            "description": "A JSON Pointer [RFC6901] to the associated entity in the request document",
            "example": "/title"
          },
          "parameter": {
            "type": "string",
            "description": "a string indicating which URI query parameter caused the error",
            "example": "metrics"
          }
        }
      },
      "SpeakRequest": {
        "type": "object",
        "title": "Speak Request",
        "required": [
          "payload",
          "voice"
        ],
        "properties": {
          "payload": {
            "description": "The text or SSML to be converted into speech. There is a 3,000 character limit.",
            "type": "string",
            "example": "Say this on the call"
          },
          "payload_type": {
            "description": "The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).",
            "default": "text",
            "type": "string",
            "enum": [
              "text",
              "ssml"
            ],
            "example": "ssml"
          },
          "service_level": {
            "description": "This parameter impacts speech quality, language options and payload types. When using `basic`, only the `en-US` language and payload type `text` are allowed.",
            "default": "premium",
            "type": "string",
            "enum": [
              "basic",
              "premium"
            ],
            "example": "premium"
          },
          "stop": {
            "description": "When specified, it stops the current audio being played. Specify `current` to stop the current audio being played, and to play the next file in the queue. Specify `all` to stop the current audio file being played and to also clear all audio files from the queue.",
            "type": "string",
            "example": "current"
          },
          "voice": {
            "description": "Specifies the voice used in speech synthesis.\n\n- Define voices using the format `<Provider>.<Model>.<VoiceId>`. Specifying only the provider will give default values for voice_id and model_id.\n\n **Supported Providers:**\n- **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.\n- **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`, `Azure.en-US-BrianMultilingualNeural`, `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery). Use `voice_settings` to configure custom deployments, regions, or API keys.\n- **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration identifier secret in `\"voice_settings\": {\"api_key_ref\": \"<secret_identifier>\"}`. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](https://elevenlabs.io/docs/api-reference/get-voices).\n- **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`). Use `voice_settings` to configure voice_speed and other synthesis parameters.\n- **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g., `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`, `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings` to configure speed, volume, pitch, and language_boost.\n- **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`). Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure voice_speed.\n- **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g., `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use `voice_settings` to configure precision, sample_rate, and format.\n- **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.\n- **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`, `ara`, `rex`, `sal`, `leo`.\n\nFor service_level basic, you may define the gender of the speaker (male or female).",
            "type": "string",
            "example": "Telnyx.KokoroTTS.af"
          },
          "voice_settings": {
            "description": "The settings associated with the voice selected",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ElevenLabsVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/TelnyxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AWSVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/MinimaxVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/AzureVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/RimeVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/ResembleVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/InworldVoiceSettings"
              },
              {
                "$ref": "#/components/schemas/XAIVoiceSettings"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "elevenlabs": "#/components/schemas/ElevenLabsVoiceSettings",
                "telnyx": "#/components/schemas/TelnyxVoiceSettings",
                "aws": "#/components/schemas/AWSVoiceSettings",
                "minimax": "#/components/schemas/MinimaxVoiceSettings",
                "azure": "#/components/schemas/AzureVoiceSettings",
                "rime": "#/components/schemas/RimeVoiceSettings",
                "resemble": "#/components/schemas/ResembleVoiceSettings",
                "inworld": "#/components/schemas/InworldVoiceSettings",
                "xai": "#/components/schemas/XAIVoiceSettings"
              }
            }
          },
          "language": {
            "description": "The language you want spoken. This parameter is ignored when a `Polly.*` voice is specified.",
            "type": "string",
            "enum": [
              "arb",
              "cmn-CN",
              "cy-GB",
              "da-DK",
              "de-DE",
              "en-AU",
              "en-GB",
              "en-GB-WLS",
              "en-IN",
              "en-US",
              "es-ES",
              "es-MX",
              "es-US",
              "fr-CA",
              "fr-FR",
              "hi-IN",
              "is-IS",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "nb-NO",
              "nl-NL",
              "pl-PL",
              "pt-BR",
              "pt-PT",
              "ro-RO",
              "ru-RU",
              "sv-SE",
              "tr-TR"
            ],
            "example": "en-US"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "loop": {
            "$ref": "#/components/schemas/Loopcount",
            "description": "The number of times to play the audio file. Use `infinity` to loop indefinitely. Defaults to 1."
          },
          "target_legs": {
            "description": "Specifies which legs of the call should receive the spoken audio.",
            "type": "string",
            "enum": [
              "self",
              "opposite",
              "both"
            ],
            "default": "self",
            "example": "both"
          }
        },
        "example": {
          "payload": "Say this on the call",
          "payload_type": "text",
          "service_level": "basic",
          "stop": "current",
          "voice": "female",
          "language": "arb",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "SpeechmaticsTranscriptionLanguage": {
        "title": "Speechmatics transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition",
        "example": "en",
        "default": "en",
        "enum": [
          "en",
          "ba",
          "eu",
          "gl",
          "ga",
          "mt",
          "mn",
          "sw",
          "ug",
          "cy",
          "ar_en",
          "cmn_en",
          "en_ms",
          "en_ta",
          "tl",
          "es-bilingual-en",
          "cmn_en_ms_ta"
        ]
      },
      "StartConferenceRecordingRequest": {
        "type": "object",
        "title": "Start Conference Recording Request",
        "required": [
          "format"
        ],
        "properties": {
          "format": {
            "description": "The audio file format used when storing the conference recording. Can be either `mp3` or `wav`.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "example": "mp3"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `conference_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "channels": {
            "description": "When `dual`, final audio file will be stereo recorded with the conference creator on the first channel, and the rest on the second channel.",
            "enum": [
              "single",
              "dual"
            ],
            "type": "string",
            "default": "single",
            "example": "dual"
          },
          "play_beep": {
            "description": "If enabled, a beep sound will be played at the start of a recording.",
            "type": "boolean",
            "example": true
          },
          "trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "format": "wav",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "play_beep": true
        }
      },
      "StartForkingRequest": {
        "type": "object",
        "title": "Start Forking Request",
        "properties": {
          "rx": {
            "description": "The network target, <udp:ip_address:port>, where the call's incoming RTP media packets should be forwarded.",
            "type": "string",
            "example": "udp:192.0.2.1:9000"
          },
          "stream_type": {
            "description": "Optionally specify a media type to stream. If `decrypted` selected, Telnyx will decrypt incoming SIP media before forking to the target. `rx` and `tx` are required fields if `decrypted` selected.",
            "type": "string",
            "enum": [
              "decrypted"
            ],
            "default": "decrypted",
            "example": "decrypted"
          },
          "tx": {
            "description": "The network target, <udp:ip_address:port>, where the call's outgoing RTP media packets should be forwarded.",
            "type": "string",
            "example": "udp:192.0.2.1:9001"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "rx": "udp:192.0.2.1:9000",
          "tx": "udp:192.0.2.1:9001",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "StartRecordingRequest": {
        "type": "object",
        "title": "Start Recording Request",
        "required": [
          "format",
          "channels"
        ],
        "properties": {
          "format": {
            "description": "The audio file format used when storing the call recording. Can be either `mp3` or `wav`.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "example": "mp3"
          },
          "channels": {
            "description": "When `dual`, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B.",
            "enum": [
              "single",
              "dual"
            ],
            "type": "string",
            "example": "single"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "play_beep": {
            "description": "If enabled, a beep sound will be played at the start of a recording.",
            "type": "boolean",
            "example": true
          },
          "max_length": {
            "description": "Defines the maximum length for the recording in seconds. The minimum value is 0. The maximum value is 14400. The default value is 0 (infinite)",
            "type": "integer",
            "example": 100,
            "default": 0,
            "format": "int32"
          },
          "timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite)",
            "type": "integer",
            "example": 100,
            "default": 0,
            "format": "int32"
          },
          "recording_track": {
            "description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
            "type": "string",
            "example": "outbound",
            "default": "both",
            "enum": [
              "both",
              "inbound",
              "outbound"
            ]
          },
          "trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "transcription": {
            "description": "Enable post recording transcription. The default value is false.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "transcription_engine": {
            "description": "Engine to use for speech recognition. `A` - `Google`, `B` - `Telnyx`, `deepgram/nova-3` - `Deepgram Nova-3`. Note: `deepgram/nova-3` supports only `en` and `en-{Region}` languages.",
            "type": "string",
            "enum": [
              "A",
              "B",
              "deepgram/nova-3"
            ],
            "default": "A",
            "example": "A"
          },
          "transcription_language": {
            "$ref": "#/components/schemas/TranscriptionLanguage"
          },
          "transcription_profanity_filter": {
            "description": "Enables profanity_filter. Applies to `google` engine only.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "transcription_speaker_diarization": {
            "description": "Enables speaker diarization. Applies to `google` engine only.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "transcription_min_speaker_count": {
            "description": "Defines minimum number of speakers in the conversation. Applies to `google` engine only.",
            "type": "integer",
            "example": 4,
            "default": 2,
            "format": "int32"
          },
          "transcription_max_speaker_count": {
            "description": "Defines maximum number of speakers in the conversation. Applies to `google` engine only.",
            "type": "integer",
            "example": 4,
            "default": 6,
            "format": "int32"
          }
        },
        "example": {
          "format": "wav",
          "channels": "single",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "play_beep": true,
          "max_length": 0,
          "timeout_secs": 0,
          "transcription": true,
          "transcription_engine": "B",
          "transcription_language": "en"
        }
      },
      "StartSiprecRequest": {
        "type": "object",
        "title": "Start Siprec Request",
        "properties": {
          "connector_name": {
            "description": "Name of configured SIPREC connector to be used.",
            "type": "string",
            "example": "my-siprec-connector"
          },
          "sip_transport": {
            "description": "Specifies SIP transport protocol.",
            "type": "string",
            "enum": [
              "udp",
              "tcp",
              "tls"
            ],
            "default": "udp",
            "example": "tcp"
          },
          "siprec_track": {
            "description": "Specifies which track should be sent on siprec session.",
            "type": "string",
            "enum": [
              "inbound_track",
              "outbound_track",
              "both_tracks"
            ],
            "default": "both_tracks",
            "example": "outbound_track"
          },
          "include_metadata_custom_headers": {
            "description": "When set, custom parameters will be added as metadata (recording.session.ExtensionParameters). Otherwise, they’ll be added to sip headers.",
            "example": true,
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "secure": {
            "description": "Controls whether to encrypt media sent to your SRS using SRTP and TLS. When set you need to configure SRS port in your connector to 5061.",
            "example": true,
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "session_timeout_secs": {
            "description": "Sets `Session-Expires` header to the INVITE. A reinvite is sent every half the value set. Usefull for session keep alive. Minimum value is 90, set to 0 to disable.",
            "example": 900,
            "type": "integer",
            "default": 1800
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          }
        },
        "example": {
          "connector_name": "my-siprec-connector",
          "siprec_track": "both_tracks",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d"
        }
      },
      "StartSpeakingPlan": {
        "type": "object",
        "title": "StartSpeakingPlan",
        "description": "Controls when the assistant starts speaking after the user stops. These thresholds primarily apply to non turn-taking transcription models. For turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the transcription end-of-turn settings under `transcription.settings` instead.",
        "properties": {
          "wait_seconds": {
            "type": "number",
            "format": "float",
            "default": 0.4,
            "minimum": 0,
            "description": "Minimum seconds to wait before the assistant starts speaking."
          },
          "transcription_endpointing_plan": {
            "$ref": "#/components/schemas/TranscriptionEndpointingPlan"
          }
        }
      },
      "StartStreamingRequest": {
        "type": "object",
        "title": "Start Streaming Request",
        "properties": {
          "stream_url": {
            "description": "The destination WebSocket address where the stream is going to be delivered.",
            "type": "string",
            "example": "wss://www.example.com/websocket"
          },
          "stream_track": {
            "description": "Specifies which track should be streamed.",
            "type": "string",
            "enum": [
              "inbound_track",
              "outbound_track",
              "both_tracks"
            ],
            "default": "inbound_track",
            "example": "both_tracks"
          },
          "stream_codec": {
            "$ref": "#/components/schemas/StreamCodec"
          },
          "stream_bidirectional_mode": {
            "$ref": "#/components/schemas/StreamBidirectionalMode"
          },
          "stream_bidirectional_codec": {
            "$ref": "#/components/schemas/StreamBidirectionalCodec"
          },
          "stream_bidirectional_target_legs": {
            "$ref": "#/components/schemas/StreamBidirectionalTargetLegs"
          },
          "stream_bidirectional_sampling_rate": {
            "$ref": "#/components/schemas/StreamBidirectionalSamplingRate"
          },
          "enable_dialogflow": {
            "description": "Enables Dialogflow for the current call. The default value is false.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "dialogflow_config": {
            "$ref": "#/components/schemas/DialogflowConfig"
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "custom_parameters": {
            "description": "Custom parameters to be sent as part of the WebSocket connection.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the custom parameter."
                },
                "value": {
                  "type": "string",
                  "description": "The value of the custom parameter."
                }
              }
            },
            "example": [
              {
                "name": "param1",
                "value": "value1"
              },
              {
                "name": "param2",
                "value": "value2"
              }
            ]
          },
          "stream_auth_token": {
            "description": "An authentication token to be sent as part of the WebSocket connection. Maximum length is 4000 characters.",
            "type": "string",
            "maxLength": 4000,
            "example": "your-auth-token"
          }
        },
        "example": {
          "stream_url": "wss://www.example.com/websocket",
          "stream_track": "both_tracks",
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "enable_dialogflow": false,
          "dialogflow_config": {
            "analyze_sentiment": false,
            "partial_automated_agent_reply": false
          }
        }
      },
      "StepStatus": {
        "type": "string",
        "enum": [
          "pending",
          "in_progress",
          "completed",
          "skipped",
          "failed"
        ],
        "title": "StepStatus"
      },
      "StockExchange": {
        "title": "StockExchange",
        "enum": [
          "NONE",
          "NASDAQ",
          "NYSE",
          "AMEX",
          "AMX",
          "ASX",
          "B3",
          "BME",
          "BSE",
          "FRA",
          "ICEX",
          "JPX",
          "JSE",
          "KRX",
          "LON",
          "NSE",
          "OMX",
          "SEHK",
          "SSE",
          "STO",
          "SWX",
          "SZSE",
          "TSX",
          "TWSE",
          "VSE"
        ],
        "description": "(Required for public company) stock exchange.",
        "example": "NASDAQ",
        "type": "string"
      },
      "StopForkingRequest": {
        "type": "object",
        "title": "Stop Forking Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "stream_type": {
            "description": "Optionally specify a `stream_type`. This should match the `stream_type` that was used in `fork_start` command to properly stop the fork.",
            "type": "string",
            "enum": [
              "raw",
              "decrypted"
            ],
            "default": "raw",
            "example": "decrypted"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "StopGatherRequest": {
        "type": "object",
        "title": "Stop Gather Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "StopRecordingConferenceRequest": {
        "type": "object",
        "title": "Stop Recording Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Uniquely identifies the resource.",
            "type": "string",
            "format": "uuid",
            "example": "6e00ab49-9487-4364-8ad6-23965965afb2"
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "recording_id": "6e00ab49-9487-4364-8ad6-23965965afb2"
        }
      },
      "StopRecordingRequest": {
        "type": "object",
        "title": "Stop Recording Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "recording_id": {
            "description": "Uniquely identifies the resource.",
            "type": "string",
            "format": "uuid",
            "example": "6e00ab49-9487-4364-8ad6-23965965afb2"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "recording_id": "6e00ab49-9487-4364-8ad6-23965965afb2"
        }
      },
      "StopSiprecRequest": {
        "type": "object",
        "title": "Stop Siprec Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "StopStreamingRequest": {
        "type": "object",
        "title": "Stop Streaming Request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "stream_id": {
            "type": "string",
            "format": "uuid",
            "example": "1edb94f9-7ef0-4150-b502-e0ebadfd9491",
            "description": "Identifies the stream. If the `stream_id` is not provided the command stops all streams associated with a given `call_control_id`."
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "stream_id": "1edb94f9-7ef0-4150-b502-e0ebadfd9491"
        }
      },
      "StoreMedia": {
        "description": "Should fax media be stored on temporary URL. It does not support media_name, they can't be submitted together.",
        "type": "boolean",
        "default": false
      },
      "StorePreview": {
        "description": "Should fax preview be stored on temporary URL.",
        "type": "boolean",
        "default": false
      },
      "StoredPaymentTransactionRequest": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "string",
            "description": "Amount in dollars and cents, e.g. \"120.00\"",
            "example": "120.00"
          }
        }
      },
      "StoredPaymentTransactionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "record_type": {
                "type": "string",
                "enum": [
                  "transaction"
                ]
              },
              "amount_cents": {
                "type": "integer"
              },
              "processor_status": {
                "type": "string"
              },
              "amount_currency": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "auto_recharge": {
                "type": "boolean"
              },
              "transaction_processing_type": {
                "type": "string",
                "enum": [
                  "stored_payment"
                ]
              }
            }
          }
        }
      },
      "StreamBidirectionalCodec": {
        "type": "string",
        "title": "Bidirectional Stream Codec",
        "description": "Indicates codec for bidirectional streaming RTP payloads. Used only with stream_bidirectional_mode=rtp. Case sensitive.",
        "enum": [
          "PCMU",
          "PCMA",
          "G722",
          "OPUS",
          "AMR-WB",
          "L16"
        ],
        "default": "PCMU",
        "example": "G722"
      },
      "StreamBidirectionalMode": {
        "type": "string",
        "title": "Bidirectional Stream Mode",
        "description": "Configures method of bidirectional streaming (mp3, rtp).",
        "enum": [
          "mp3",
          "rtp"
        ],
        "default": "mp3",
        "example": "rtp"
      },
      "StreamBidirectionalSamplingRate": {
        "type": "integer",
        "title": "Bidirectional Stream Sampling Rate",
        "description": "Audio sampling rate.",
        "enum": [
          8000,
          16000,
          22050,
          24000,
          48000
        ],
        "default": 8000,
        "example": 16000
      },
      "StreamBidirectionalTargetLegs": {
        "type": "string",
        "title": "Bidirectional Stream Target Legs",
        "description": "Specifies which call legs should receive the bidirectional stream audio.",
        "enum": [
          "both",
          "self",
          "opposite"
        ],
        "default": "opposite",
        "example": "both"
      },
      "StreamCodec": {
        "description": "Specifies the codec to be used for the streamed audio. When set to 'default' or when transcoding is not possible, the codec from the call will be used.",
        "title": "Stream Codec",
        "type": "string",
        "enum": [
          "PCMU",
          "PCMA",
          "G722",
          "OPUS",
          "AMR-WB",
          "L16",
          "default"
        ],
        "default": "default",
        "example": "PCMA"
      },
      "StreamName": {
        "description": "The user specified name of Stream.",
        "example": "My stream",
        "type": "string"
      },
      "StreamStatus": {
        "description": "The status of the Stream you wish to update.",
        "default": "stopped",
        "example": "stopped",
        "type": "string",
        "enum": [
          "stopped"
        ]
      },
      "StreamTrack": {
        "description": "Tracks to be included in the stream",
        "default": "inbound_track",
        "example": "both_tracks",
        "type": "string",
        "enum": [
          "inbound_track",
          "outbound_track",
          "both_tracks"
        ]
      },
      "SttClientEvent": {
        "type": "string",
        "format": "binary",
        "description": "Binary audio data in mp3 or wav format."
      },
      "SttDeleteDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SttDetailReportResponse"
          }
        }
      },
      "SttDetailReportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource",
            "example": "ab76c3b6-80cd-11eb-9439-0242ac130002"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "download_link": {
            "type": "string",
            "description": "URL to download the report",
            "example": "https://portal-cdrs-usage.s3.amazonaws.com"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "COMPLETE",
              "FAILED",
              "EXPIRED"
            ]
          },
          "record_type": {
            "type": "string",
            "example": "speech_to_text_report"
          }
        }
      },
      "SttDetailedRequest": {
        "required": [
          "start_date",
          "end_date"
        ],
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string",
            "description": "Start date in ISO format with timezone",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          },
          "end_date": {
            "type": "string",
            "description": "End date in ISO format with timezone (date range must be up to one month)",
            "format": "date-time",
            "example": "2020-07-01T00:00:00-06:00"
          }
        },
        "description": "Request object for Speech to Text detailed report"
      },
      "SttErrorFrame": {
        "type": "object",
        "description": "Server-to-client frame indicating an error during transcription. The connection may be closed shortly after.",
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "description": "Frame type identifier."
          },
          "error": {
            "type": "string",
            "description": "Error message describing what went wrong."
          }
        },
        "required": [
          "type",
          "error"
        ]
      },
      "SttGetDetailReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SttDetailReportResponse"
          }
        }
      },
      "SttGetDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SttDetailReportResponse"
            }
          }
        }
      },
      "SttPostDetailReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SttDetailReportResponse"
          }
        }
      },
      "SttServerEvent": {
        "description": "Union of all server-to-client WebSocket events for STT streaming.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/TranscriptFrame"
          },
          {
            "$ref": "#/components/schemas/SttErrorFrame"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "transcript": "#/components/schemas/TranscriptFrame",
            "error": "#/components/schemas/SttErrorFrame"
          }
        }
      },
      "SttUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object"
          }
        }
      },
      "SubNumberOrder": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "readOnly": true
          },
          "order_request_id": {
            "type": "string",
            "format": "uuid",
            "example": "12ade33a-21c0-473b-b055-b3c836e1c293",
            "readOnly": true
          },
          "country_code": {
            "type": "string",
            "example": "US",
            "readOnly": true
          },
          "phone_number_type": {
            "type": "string",
            "example": "local",
            "enum": [
              "local",
              "toll_free",
              "mobile",
              "national",
              "shared_cost",
              "landline"
            ]
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "example": "d70873cd-7c98-401a-81b6-b1ae08246995"
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubNumberOrderRegulatoryRequirement"
            }
          },
          "record_type": {
            "type": "string",
            "example": "sub_number_order",
            "readOnly": true
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "The count of phone numbers in the number order.",
            "example": 1,
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string denoting when the number order was created.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "An ISO 8901 datetime string for when the number order was updated.",
            "example": "2018-01-01T00:00:00.000000Z",
            "readOnly": true
          },
          "requirements_met": {
            "type": "boolean",
            "description": "True if all requirements are met for every phone number, false otherwise.",
            "example": true,
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failure"
            ],
            "description": "The status of the order.",
            "readOnly": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "is_block_sub_number_order": {
            "type": "boolean",
            "description": "True if the sub number order is a block sub number order",
            "example": false,
            "readOnly": true
          }
        },
        "type": "object"
      },
      "SubNumberOrderPhoneNumber": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "phone_number": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "phone_number_type": {
            "type": "string"
          },
          "requirements_met": {
            "type": "boolean"
          },
          "requirements_status": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "record_type": {
            "type": "string"
          },
          "bundle_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "requirement_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "field_type": {
                  "type": "string"
                },
                "field_value": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SubNumberOrderRegulatoryRequirement": {
        "properties": {
          "record_type": {
            "type": "string",
            "example": "phone_number_regulatory_requirement",
            "readOnly": true
          },
          "requirement_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id for a requirement.",
            "example": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576"
          },
          "field_type": {
            "type": "string",
            "enum": [
              "textual",
              "datetime",
              "address",
              "document"
            ],
            "example": "address",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "SubNumberOrderRegulatoryRequirementWithValue": {
        "properties": {
          "record_type": {
            "type": "string",
            "example": "phone_number_regulatory_requirement",
            "readOnly": true
          },
          "requirement_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id for a requirement.",
            "example": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576"
          },
          "field_type": {
            "type": "string",
            "enum": [
              "textual",
              "datetime",
              "address",
              "document"
            ],
            "example": "address",
            "readOnly": true
          },
          "field_value": {
            "type": "string",
            "description": "The value of the requirement, this could be an id to a resource or a string value.",
            "example": "45f45a04-b4be-4592-95b1-9306b9db2b21"
          }
        },
        "type": "object"
      },
      "SubNumberOrderRequirementGroupResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "order_request_id": {
                "type": "string",
                "format": "uuid"
              },
              "country_code": {
                "type": "string"
              },
              "phone_number_type": {
                "type": "string"
              },
              "phone_numbers_count": {
                "type": "integer"
              },
              "requirements_met": {
                "type": "boolean"
              },
              "is_block_sub_number_order": {
                "type": "boolean"
              },
              "status": {
                "type": "string"
              },
              "customer_reference": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "record_type": {
                "type": "string"
              },
              "regulatory_requirements": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RegulatoryRequirement"
                }
              },
              "phone_numbers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubNumberOrderPhoneNumber"
                }
              }
            }
          }
        },
        "example": {
          "data": {
            "country_code": "AT",
            "created_at": "2018-01-01T00:00:00.000000Z",
            "updated_at": "2018-01-01T00:00:00.000000Z",
            "regulatory_requirements": [
              {
                "record_type": "phone_number_regulatory_requirement",
                "requirement_id": "2708e569-696a-4fc7-9305-5fdb3eb9c7dd",
                "field_type": "textual"
              }
            ],
            "phone_numbers_count": 1,
            "phone_numbers": [
              {
                "country_code": "AT",
                "regulatory_requirements": [
                  {
                    "field_value": "4804570924",
                    "requirement_id": "2708e569-696a-4fc7-9305-5fdb3eb9c7dd",
                    "field_type": "textual",
                    "status": "pending-approval"
                  }
                ],
                "bundle_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
                "requirements_status": "requirement-info-under-review",
                "phone_number_type": "toll_free",
                "requirements_met": false,
                "record_type": "number_order_phone_number",
                "status": "pending",
                "id": "613d517a-0432-4bae-a785-c11033bd0985",
                "phone_number": "+43800300238"
              }
            ],
            "is_block_sub_number_order": false,
            "phone_number_type": "toll_free",
            "requirements_met": false,
            "id": "f826ed66-b27c-4340-9dc0-57dc3459f1bd",
            "order_request_id": "a11d58fe-88a4-494a-b752-8dea411993c6",
            "status": "pending",
            "customer_reference": "missing",
            "record_type": "sub_number_order"
          }
        }
      },
      "SubNumberOrdersReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "cada7e84-122b-4b47-bc66-58c7c3becd40",
            "description": "Identifies the resource.",
            "readOnly": true
          },
          "order_type": {
            "type": "string",
            "example": "sub_number_order",
            "description": "The type of order report.",
            "readOnly": true
          },
          "filters": {
            "type": "object",
            "description": "The filters that were applied to generate this report",
            "properties": {
              "status": {
                "type": "string",
                "example": "success"
              },
              "country_code": {
                "type": "string",
                "example": "US"
              },
              "created_at_gt": {
                "type": "string",
                "format": "date-time",
                "example": "2023-04-05T10:22:08.230549Z"
              },
              "created_at_lt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-06-05T10:22:08.230549Z"
              },
              "order_request_id": {
                "type": "string",
                "format": "uuid",
                "example": "991b8ff5-4daf-4826-9a22-e3991b444a9c"
              },
              "customer_reference": {
                "type": "string",
                "example": "STRING"
              }
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "expired"
            ],
            "default": "pending",
            "example": "pending",
            "description": "Indicates the completion level of the sub number orders report. The report must have a status of 'success' before it can be downloaded."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "example": "0d7ef697-df19-413a-b724-56b0539f5397",
            "description": "The ID of the user who created the report.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2025-06-11T13:21:40.967339+00:00",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2025-06-11T13:21:45.753260+00:00",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "readOnly": true
          }
        },
        "example": {
          "order_type": "sub_number_order",
          "filters": {
            "status": "success",
            "country_code": "US",
            "created_at_gt": "2023-04-05T10:22:08.230549Z",
            "created_at_lt": "2025-06-05T10:22:08.230549Z",
            "order_request_id": "991b8ff5-4daf-4826-9a22-e3991b444a9c",
            "customer_reference": "STRING"
          },
          "status": "pending",
          "created_at": "2025-06-11T13:21:40.967339+00:00",
          "user_id": "0d7ef697-df19-413a-b724-56b0539f5397",
          "updated_at": "2025-06-11T13:21:45.753260+00:00",
          "id": "cada7e84-122b-4b47-bc66-58c7c3becd40"
        }
      },
      "Summary": {
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SummaryLine"
            },
            "description": "List of charge summary lines"
          },
          "adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdjustmentLine"
            },
            "description": "List of billing adjustments"
          }
        },
        "example": {
          "lines": [
            {
              "type": "comparative",
              "name": "Local DIDs",
              "alias": "local",
              "new_this_month": {
                "quantity": 10,
                "mrc": "25.50",
                "otc": "5.00"
              },
              "existing_this_month": {
                "quantity": 8,
                "mrc": "20.00"
              }
            },
            {
              "type": "simple",
              "name": "Port Out",
              "alias": "port_out",
              "quantity": 100,
              "amount": "15.75"
            }
          ],
          "adjustments": [
            {
              "amount": "-10.00",
              "description": "Credit for service outage",
              "event_date": "2025-05-15"
            }
          ]
        },
        "required": [
          "lines",
          "adjustments"
        ]
      },
      "SummaryAndTotal": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "User identifier",
            "example": "0db0b4aa-a83d-4d4f-ad9b-3ba7c1ac2ce8"
          },
          "start_date": {
            "type": "string",
            "format": "date",
            "description": "Start date of the summary period",
            "example": "2025-05-01"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "description": "End date of the summary period",
            "example": "2025-06-01"
          },
          "user_email": {
            "type": "string",
            "format": "email",
            "description": "User email address",
            "example": "user@example.com"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "summary": {
            "$ref": "#/components/schemas/Summary"
          },
          "total": {
            "$ref": "#/components/schemas/TotalSummary"
          }
        },
        "required": [
          "user_id",
          "start_date",
          "end_date",
          "user_email",
          "currency",
          "summary",
          "total"
        ]
      },
      "SummaryLine": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ComparativeLine"
          },
          {
            "$ref": "#/components/schemas/SimpleLine"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "SummaryRequest": {
        "properties": {
          "bucket": {
            "type": "string",
            "description": "The name of the bucket that contains the file to be summarized."
          },
          "filename": {
            "type": "string",
            "description": "The name of the file to be summarized."
          },
          "system_prompt": {
            "type": "string",
            "description": "A system prompt to guide the summary generation."
          }
        },
        "type": "object",
        "required": [
          "bucket",
          "filename"
        ],
        "title": "SummaryRequest"
      },
      "SummaryResponse": {
        "properties": {
          "summary": {
            "type": "string",
            "title": "Summary"
          }
        },
        "type": "object",
        "required": [
          "summary"
        ],
        "title": "SummaryResponse"
      },
      "SummaryResponseData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SummaryResponse"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "SummaryResponseData"
      },
      "SupportedEmbeddingLoaders": {
        "type": "string",
        "enum": [
          "default",
          "intercom"
        ],
        "title": "SupportedEmbeddingLoaders",
        "description": "Supported types of custom document loaders for embeddings."
      },
      "SupportedEmbeddingModels": {
        "type": "string",
        "enum": [
          "thenlper/gte-large",
          "intfloat/multilingual-e5-large"
        ],
        "title": "SupportedEmbeddingModels",
        "description": "Supported models to vectorize and embed documents."
      },
      "SwitchSupervisorRoleRequest": {
        "type": "object",
        "title": "Switch Supervisor Role Request",
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "description": "The supervisor role to switch to. 'barge' allows speaking to both parties, 'whisper' allows speaking to caller only, 'monitor' allows listening only.",
            "type": "string",
            "enum": [
              "barge",
              "whisper",
              "monitor"
            ],
            "example": "barge"
          }
        },
        "example": {
          "role": "barge"
        }
      },
      "SystemMessage": {
        "type": "object",
        "title": "System Message",
        "description": "Developer-provided instructions that the model should follow, regardless of messages sent by the user.",
        "properties": {
          "role": {
            "description": "The role of the messages author, in this case `system`.",
            "type": "string",
            "enum": [
              "system"
            ]
          },
          "content": {
            "description": "The contents of the system message.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          }
        },
        "required": [
          "role",
          "content"
        ],
        "example": {
          "role": "system",
          "content": "Get the user's favorite color"
        }
      },
      "T38Enabled": {
        "description": "The flag to disable the T.38 protocol.",
        "type": "boolean",
        "default": true
      },
      "TFPhoneNumber": {
        "title": "PhoneNumber",
        "required": [
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "phoneNumber": {
            "title": "Phonenumber",
            "type": "string"
          }
        },
        "description": "A phone number"
      },
      "TFVerificationRequest": {
        "title": "VerificationRequest",
        "required": [
          "businessName",
          "corporateWebsite",
          "businessAddr1",
          "businessCity",
          "businessState",
          "businessZip",
          "businessContactFirstName",
          "businessContactLastName",
          "businessContactEmail",
          "businessContactPhone",
          "messageVolume",
          "phoneNumbers",
          "useCase",
          "useCaseSummary",
          "productionMessageContent",
          "optInWorkflow",
          "optInWorkflowImageURLs",
          "additionalInformation"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "title": "Businessname",
            "type": "string",
            "maxLength": 500,
            "description": "Name of the business; there are no specific formatting requirements",
            "example": "Telnyx LLC"
          },
          "corporateWebsite": {
            "title": "Corporatewebsite",
            "type": "string",
            "maxLength": 500,
            "description": "A URL, including the scheme, pointing to the corporate website",
            "example": "http://example.com"
          },
          "businessAddr1": {
            "title": "Businessaddr1",
            "type": "string",
            "maxLength": 500,
            "description": "Line 1 of the business address",
            "example": "600 Congress Avenue"
          },
          "businessAddr2": {
            "title": "Businessaddr2",
            "type": "string",
            "maxLength": 500,
            "description": "Line 2 of the business address",
            "example": "14th Floor"
          },
          "businessCity": {
            "title": "Businesscity",
            "type": "string",
            "maxLength": 500,
            "description": "The city of the business address; the first letter should be capitalized",
            "example": "Austin"
          },
          "businessState": {
            "title": "Businessstate",
            "type": "string",
            "maxLength": 500,
            "description": "The full name of the state (not the 2 letter code) of the business address; the first letter should be capitalized",
            "example": "Texas"
          },
          "businessZip": {
            "title": "Businesszip",
            "type": "string",
            "maxLength": 500,
            "description": "The ZIP code of the business address",
            "example": "78701"
          },
          "businessContactFirstName": {
            "title": "Businesscontactfirstname",
            "type": "string",
            "maxLength": 500,
            "description": "First name of the business contact; there are no specific requirements on formatting",
            "example": "John"
          },
          "businessContactLastName": {
            "title": "Businesscontactlastname",
            "type": "string",
            "maxLength": 500,
            "description": "Last name of the business contact; there are no specific requirements on formatting",
            "example": "Doe"
          },
          "businessContactEmail": {
            "title": "Businesscontactemail",
            "type": "string",
            "maxLength": 500,
            "description": "The email address of the business contact",
            "example": "email@example.com"
          },
          "businessContactPhone": {
            "title": "Businesscontactphone",
            "type": "string",
            "maxLength": 500,
            "description": "The phone number of the business contact in E.164 format",
            "example": "+18005550100"
          },
          "messageVolume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Volume"
              }
            ],
            "description": "Estimated monthly volume of messages from the given phone numbers",
            "example": "100,000"
          },
          "phoneNumbers": {
            "title": "Phonenumbers",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/TFPhoneNumber"
            },
            "description": "The phone numbers to request the verification of",
            "example": [
              {
                "phoneNumber": "+18773554398"
              },
              {
                "phoneNumber": "+18773554399"
              }
            ]
          },
          "useCase": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UseCaseCategories"
              }
            ],
            "description": "Machine-readable use-case for the phone numbers",
            "example": "2FA"
          },
          "useCaseSummary": {
            "title": "Usecasesummary",
            "type": "string",
            "maxLength": 500,
            "description": "Human-readable summary of the desired use-case",
            "example": "This is a use case where Telnyx sends out 2FA codes to portal users to verify their identity in order to sign into the portal"
          },
          "productionMessageContent": {
            "title": "Productionmessagecontent",
            "type": "string",
            "maxLength": 1000,
            "description": "An example of a message that will be sent from the given phone numbers",
            "example": "Your Telnyx OTP is XXXX"
          },
          "optInWorkflow": {
            "title": "Optinworkflow",
            "type": "string",
            "maxLength": 500,
            "description": "Human-readable description of how end users will opt into receiving messages from the given phone numbers",
            "example": "User signs into the Telnyx portal, enters a number and is prompted to select whether they want to use 2FA verification for security purposes. If they've opted in a confirmation message is sent out to the handset"
          },
          "optInWorkflowImageURLs": {
            "title": "Optinworkflowimageurls",
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Url"
            },
            "description": "Images showing the opt-in workflow",
            "example": [
              {
                "url": "https://telnyx.com/sign-up"
              },
              {
                "url": "https://telnyx.com/company/data-privacy"
              }
            ]
          },
          "additionalInformation": {
            "title": "Additionalinformation",
            "type": "string",
            "maxLength": 500,
            "description": "Any additional information"
          },
          "isvReseller": {
            "title": "Isvreseller",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "ISV name"
          },
          "webhookUrl": {
            "title": "Webhookurl",
            "type": "string",
            "maxLength": 500,
            "description": "URL that should receive webhooks relating to this verification request",
            "example": "http://example-webhook.com"
          },
          "businessRegistrationNumber": {
            "title": "Businessregistrationnumber",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Official business registration number (e.g., Employer Identification Number (EIN) in the U.S.). Required from January 2026.",
            "example": "12-3456789"
          },
          "businessRegistrationType": {
            "title": "Businessregistrationtype",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Type of business registration being provided. Required from January 2026.",
            "example": "EIN"
          },
          "businessRegistrationCountry": {
            "title": "Businessregistrationcountry",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 2,
            "pattern": "^[A-Z]{2}$",
            "description": "ISO 3166-1 alpha-2 country code of the issuing business authority. Must be exactly 2 letters. Automatically converted to uppercase. Required from January 2026.",
            "example": "US"
          },
          "doingBusinessAs": {
            "title": "Doingbusinessas",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Doing Business As (DBA) name if different from legal name",
            "example": "Acme Services"
          },
          "entityType": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/toll-free-verification_EntityType"
              },
              {
                "type": "null"
              }
            ],
            "description": "Business entity classification. Must be one of the 5 valid enum values."
          },
          "optInConfirmationResponse": {
            "title": "Optinconfirmationresponse",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Message sent to users confirming their opt-in to receive messages",
            "example": "You have successfully opted in to receive messages from Acme Corp"
          },
          "helpMessageResponse": {
            "title": "Helpmessageresponse",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "The message returned when users text 'HELP'",
            "example": "Reply HELP for assistance or STOP to unsubscribe. Contact: support@example.com"
          },
          "privacyPolicyURL": {
            "title": "Privacypolicyurl",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "URL pointing to the business's privacy policy. Plain string, no URL format validation.",
            "example": "https://example.com/privacy"
          },
          "termsAndConditionURL": {
            "title": "Termsandconditionurl",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "URL pointing to the business's terms and conditions. Plain string, no URL format validation.",
            "example": "https://example.com/terms"
          },
          "ageGatedContent": {
            "title": "Agegatedcontent",
            "type": "boolean",
            "default": false,
            "description": "Indicates if messaging content requires age gating (e.g., 18+). Defaults to false if not provided."
          },
          "optInKeywords": {
            "title": "Optinkeywords",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Keywords used to collect and process consumer opt-ins",
            "example": "START, YES, SUBSCRIBE"
          },
          "campaignVerifyAuthorizationToken": {
            "title": "Campaignverifyauthorizationtoken",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Campaign Verify Authorization Token required for Political use case submissions starting February 17, 2026. This token is validated by Zipwhip and must be provided for all Political use case verifications after the deadline.",
            "example": "cv_token_abc123xyz"
          }
        },
        "description": "The body of a tollfree verification request"
      },
      "TFVerificationStatus": {
        "title": "VerificationStatus",
        "enum": [
          "Verified",
          "Rejected",
          "Waiting For Vendor",
          "Waiting For Customer",
          "Waiting For Telnyx",
          "In Progress"
        ],
        "type": "string",
        "description": "Tollfree verification status"
      },
      "TagsResponse": {
        "properties": {
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tags"
          }
        },
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagsResponse"
      },
      "TaskStatus": {
        "type": "string",
        "enum": [
          "pending",
          "starting",
          "running",
          "completed",
          "failed"
        ],
        "title": "TaskStatus"
      },
      "TaskStatusResponse": {
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "task_id": {
                "type": "string",
                "format": "uuid",
                "title": "Task ID"
              },
              "task_name": {
                "type": "string",
                "title": "Task Name"
              },
              "status": {
                "$ref": "#/components/schemas/BackgroundTaskStatus"
              },
              "created_at": {
                "type": "string",
                "title": "Created At"
              },
              "finished_at": {
                "type": "string",
                "title": "Finished At"
              }
            }
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TaskStatusResponse"
      },
      "TelcoDataAggregation": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of telco data lookup",
            "example": "CNAM"
          },
          "total_dips": {
            "type": "integer",
            "description": "Total number of lookups performed",
            "example": 3
          },
          "total_cost": {
            "type": "number",
            "description": "Total cost for this aggregation",
            "example": 0.009
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          }
        }
      },
      "TelcoDataGetUsageReportByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TelcoDataUsageReportResponse"
          }
        }
      },
      "TelcoDataGetUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelcoDataUsageReportResponse"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/standard_PaginationMeta"
          }
        }
      },
      "TelcoDataPostUsageReportResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TelcoDataUsageReportResponse"
          }
        }
      },
      "TelcoDataUsageRecord": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "User ID",
            "example": "d37bdd47-f301-42ec-b2ad-5a0465bfb632"
          },
          "aggregations": {
            "type": "array",
            "description": "List of aggregations by lookup type",
            "items": {
              "$ref": "#/components/schemas/TelcoDataAggregation"
            }
          },
          "record_type": {
            "type": "string",
            "description": "Record type identifier",
            "example": "TelcoDataUsageRecord"
          }
        }
      },
      "TelcoDataUsageReportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the report",
            "example": "9783f4d7-0bfc-427a-9d6b-bc659ad16e5b"
          },
          "start_date": {
            "type": "string",
            "format": "date",
            "description": "Start date of the report period",
            "example": "2025-11-01"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "description": "End date of the report period",
            "example": "2025-12-01"
          },
          "aggregation_type": {
            "type": "string",
            "description": "Type of aggregation used in the report",
            "example": "ALL"
          },
          "status": {
            "type": "string",
            "description": "Current status of the report",
            "example": "COMPLETE"
          },
          "report_url": {
            "type": "string",
            "description": "URL to download the complete report",
            "example": "https://portal-cdrs-usage.s3.amazonaws.com/telco_data_usage_report_2025-12-02.csv"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the report was created",
            "example": "2025-12-02T20:20:57.196925Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the report was last updated",
            "example": "2025-12-02T20:21:08.237091Z"
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed account IDs included in the report",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "result": {
            "type": "array",
            "description": "Array of usage records",
            "items": {
              "$ref": "#/components/schemas/TelcoDataUsageRecord"
            }
          },
          "record_type": {
            "type": "string",
            "description": "Record type identifier",
            "example": "TelcoDataUsageReport"
          }
        },
        "description": "Telco data usage report response"
      },
      "TelcoDataUsageRequest": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Start date for the usage report",
            "example": "2025-02-10"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "End date for the usage report",
            "example": "2025-02-10"
          },
          "aggregationType": {
            "type": "string",
            "description": "Type of aggregation for the report",
            "enum": [
              "ALL",
              "BY_ORGANIZATION_MEMBER"
            ],
            "example": "ALL"
          },
          "managedAccounts": {
            "type": "array",
            "description": "List of managed accounts to include in the report",
            "items": {
              "type": "string"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          }
        }
      },
      "TelephonyCredential": {
        "type": "object",
        "title": "On-demand Credential",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the resource.",
            "example": "c215ade3-0d39-418e-94be-c5f780760199"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "credential"
          },
          "name": {
            "type": "string"
          },
          "resource_id": {
            "type": "string",
            "description": "Identifies the resource this credential is associated with.",
            "example": "connection:1234567890"
          },
          "expired": {
            "type": "boolean",
            "description": "Defaults to false"
          },
          "sip_username": {
            "type": "string",
            "description": "The randomly generated SIP username for the credential.",
            "example": "gencrednCvHU5IYpSBPPsXI2iQsDX"
          },
          "sip_password": {
            "type": "string",
            "description": "The randomly generated SIP password for the credential.",
            "example": "a92dbcfb60184a8cb330b0acb2f7617b"
          },
          "created_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "user_id": {
            "type": "string",
            "description": "Identifies the user this credential is associated with.",
            "example": "user-id"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "expires_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource will expire.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "id": "c215ade3-0d39-418e-94be-c5f780760199",
          "record_type": "credential",
          "name": "2020-06-18 21:32:38.917732Z",
          "expired": false,
          "user_id": "user-id",
          "resource_id": "connection:804252963366242252",
          "sip_password": "a92dbcfb60184a8cb330b0acb2f7617b",
          "sip_username": "gencrednCvHU5IYpSBPPsXI2iQsDX",
          "created_at": "2020-06-18T21:32:38",
          "expires_at": "2042-06-18T21:32:38",
          "updated_at": "2020-06-18T21:32:38.000Z"
        }
      },
      "TelephonyCredentialCreateRequest": {
        "type": "object",
        "title": "TelephonyCredentialCreateRequest",
        "required": [
          "connection_id"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "tag": {
            "type": "string",
            "description": "Tags a credential. A single tag can hold at maximum 1000 credentials.",
            "example": "some_tag"
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the Credential Connection this credential is associated with.",
            "example": "1234567890"
          },
          "expires_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the credential will expire.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "name": "My-new-credential",
          "connection_id": "1234567890"
        }
      },
      "TelephonyCredentialUpdateRequest": {
        "type": "object",
        "title": "TelephonyCredentialUpdateRequest",
        "properties": {
          "name": {
            "type": "string"
          },
          "tag": {
            "type": "string",
            "description": "Tags a credential. A single tag can hold at maximum 1000 credentials.",
            "example": "some_tag"
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the Credential Connection this credential is associated with.",
            "example": "987654321"
          },
          "expires_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the credential will expire.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "name": "My-new-updated-credential",
          "connection_id": "987654321"
        }
      },
      "TelephonySettings": {
        "properties": {
          "default_texml_app_id": {
            "type": "string",
            "description": "Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation."
          },
          "supports_unauthenticated_web_calls": {
            "type": "boolean",
            "description": "When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled."
          },
          "noise_suppression": {
            "type": "string",
            "enum": [
              "krisp",
              "deepfilternet",
              "disabled"
            ],
            "description": "The noise suppression engine to use. Use 'disabled' to turn off noise suppression."
          },
          "noise_suppression_config": {
            "type": "object",
            "description": "Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.",
            "properties": {
              "attenuation_limit": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100,
                "default": 100,
                "description": "Attenuation limit for noise suppression. Range: 0-100."
              },
              "mode": {
                "type": "string",
                "enum": [
                  "advanced"
                ],
                "description": "Mode for noise suppression configuration."
              }
            }
          },
          "time_limit_secs": {
            "type": "integer",
            "minimum": 30,
            "maximum": 14400,
            "default": 1800,
            "description": "Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative)."
          },
          "user_idle_timeout_secs": {
            "type": "integer",
            "minimum": 10,
            "maximum": 14400,
            "description": "Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative)."
          },
          "user_idle_reply_secs": {
            "type": "integer",
            "minimum": 0,
            "default": 10,
            "description": "Duration in seconds of end user silence before the assistant checks in on the user. When this limit is reached the assistant will prompt the user to respond. This is distinct from user_idle_timeout_secs which stops the assistant entirely."
          },
          "voicemail_detection": {
            "type": "object",
            "description": "Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.",
            "properties": {
              "on_voicemail_detected": {
                "type": "object",
                "description": "Action to take when voicemail is detected.",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "stop_assistant",
                      "leave_message_and_stop_assistant",
                      "continue_assistant"
                    ],
                    "description": "The action to take when voicemail is detected."
                  },
                  "voicemail_message": {
                    "type": "object",
                    "description": "Configuration for the voicemail message to leave. Only applicable when action is 'leave_message_and_stop_assistant'.",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "prompt",
                          "message"
                        ],
                        "description": "The type of voicemail message. Use 'prompt' to have the assistant generate a message based on a prompt, or 'message' to leave a specific message."
                      },
                      "prompt": {
                        "type": "string",
                        "description": "The prompt to use for generating the voicemail message. Only applicable when type is 'prompt'."
                      },
                      "message": {
                        "type": "string",
                        "description": "The specific message to leave as voicemail. Only applicable when type is 'message'."
                      }
                    }
                  }
                }
              }
            }
          },
          "recording_settings": {
            "type": "object",
            "description": "Configuration for call recording format and channel settings.",
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": true,
                "description": "Whether call recording is enabled. When set to false, calls will not be recorded regardless of other recording configuration."
              },
              "channels": {
                "type": "string",
                "enum": [
                  "single",
                  "dual"
                ],
                "default": "dual",
                "description": "The number of channels for the recording. 'single' for mono, 'dual' for stereo."
              },
              "format": {
                "type": "string",
                "enum": [
                  "wav",
                  "mp3"
                ],
                "default": "mp3",
                "description": "The format of the recording file."
              }
            }
          }
        },
        "type": "object",
        "title": "TelephonySettings"
      },
      "TelnyxAgentData": {
        "properties": {
          "run_id": {
            "type": "string",
            "title": "Run Id"
          },
          "telnyx_agent_id": {
            "type": "string",
            "title": "Telnyx Agent Id"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "run_id",
          "telnyx_agent_id",
          "created_at"
        ],
        "title": "TelnyxAgentData"
      },
      "TelnyxAgentResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TelnyxAgentData"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TelnyxAgentResponse"
      },
      "TelnyxAgentsListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TelnyxAgentData"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TelnyxAgentsListResponse"
      },
      "TelnyxBrand": {
        "title": "TelnyxBrand",
        "required": [
          "entityType",
          "displayName",
          "country",
          "email",
          "brandRelationship",
          "vertical"
        ],
        "type": "object",
        "properties": {
          "entityType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EntityType"
              }
            ],
            "description": "Entity type behind the brand. This is the form of business establishment."
          },
          "cspId": {
            "title": "Cspid",
            "type": "string",
            "description": "Unique identifier assigned to the csp by the registry."
          },
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand.",
            "example": "4b20017f-8da9-a992-a6c0-683072fb7729"
          },
          "tcrBrandId": {
            "title": "TcrBrandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand by the registry.",
            "example": "BBRAND1"
          },
          "displayName": {
            "title": "Displayname",
            "maxLength": 100,
            "type": "string",
            "description": "Display or marketing name of the brand.",
            "example": "ABC Mobile"
          },
          "companyName": {
            "title": "Companyname",
            "maxLength": 100,
            "type": "string",
            "description": "(Required for Non-profit/private/public) Legal company name.",
            "example": "ABC Inc."
          },
          "firstName": {
            "title": "Firstname",
            "maxLength": 100,
            "type": "string",
            "description": "First name of business contact.",
            "example": "John"
          },
          "lastName": {
            "title": "Lastname",
            "maxLength": 100,
            "type": "string",
            "description": "Last name of business contact.",
            "example": "Smith"
          },
          "ein": {
            "title": "Ein",
            "maxLength": 20,
            "type": "string",
            "description": "(Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S.",
            "example": "111111111"
          },
          "phone": {
            "title": "Phone",
            "maxLength": 20,
            "type": "string",
            "description": "Valid phone number in e.164 international format.",
            "example": "+12024567890"
          },
          "street": {
            "title": "Street",
            "maxLength": 100,
            "type": "string",
            "description": "Street number and name.",
            "example": "123"
          },
          "city": {
            "title": "City",
            "maxLength": 100,
            "type": "string",
            "description": "City name",
            "example": "New York"
          },
          "state": {
            "title": "State",
            "maxLength": 20,
            "type": "string",
            "description": "State. Must be 2 letters code for United States.",
            "example": "NY"
          },
          "postalCode": {
            "title": "Postalcode",
            "maxLength": 10,
            "type": "string",
            "description": "Postal codes. Use 5 digit zipcode for United States",
            "example": "10001"
          },
          "country": {
            "title": "Country",
            "maxLength": 2,
            "type": "string",
            "description": "ISO2 2 characters country code. Example: US - United States",
            "example": "US"
          },
          "email": {
            "title": "Email",
            "maxLength": 100,
            "type": "string",
            "description": "Valid email address of brand support contact."
          },
          "stockSymbol": {
            "title": "Stocksymbol",
            "maxLength": 10,
            "type": "string",
            "description": "(Required for public company) stock symbol.",
            "example": "ABC"
          },
          "stockExchange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StockExchange"
              }
            ],
            "description": "(Required for public company) stock exchange.",
            "example": "NASDAQ"
          },
          "ipAddress": {
            "title": "Ipaddress",
            "maxLength": 50,
            "type": "string",
            "description": "IP address of the browser requesting to create brand identity."
          },
          "website": {
            "title": "Website",
            "maxLength": 100,
            "type": "string",
            "description": "Brand website URL.",
            "example": "http://www.abcmobile.com"
          },
          "brandRelationship": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrandRelationship"
              }
            ],
            "description": "Brand relationship to the CSP"
          },
          "vertical": {
            "title": "Vertical",
            "maxLength": 50,
            "type": "string",
            "description": "Vertical or industry segment of the brand."
          },
          "altBusinessId": {
            "title": "Altbusinessid",
            "maxLength": 50,
            "type": "string",
            "description": "Alternate business identifier such as DUNS, LEI, or GIIN"
          },
          "altBusinessIdType": {
            "$ref": "#/components/schemas/AltBusinessIdType"
          },
          "universalEin": {
            "title": "Universalein",
            "type": "string",
            "description": "Universal EIN of Brand, Read Only."
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "Unique identifier Telnyx assigned to the brand - the brandId"
          },
          "identityStatus": {
            "$ref": "#/components/schemas/BrandIdentityStatus"
          },
          "optionalAttributes": {
            "$ref": "#/components/schemas/BrandOptionalAttributes"
          },
          "mock": {
            "title": "Mock",
            "type": "boolean",
            "description": "Mock brand for testing purposes",
            "default": false
          },
          "mobilePhone": {
            "title": "Mobilephone",
            "maxLength": 20,
            "type": "string",
            "description": "Valid mobile phone number in e.164 international format.",
            "example": "+12024567890"
          },
          "isReseller": {
            "title": "Isreseller",
            "type": "boolean",
            "description": "Indicates whether this brand is known to be a reseller",
            "default": false
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which brand status updates are sent.",
            "example": "https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93"
          },
          "businessContactEmail": {
            "title": "BusinessContactEmail",
            "type": "string",
            "description": "Business contact email.\n\nRequired if `entityType` is `PUBLIC_PROFIT`.",
            "example": "name@example.com"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Failover webhook to which brand status updates are sent."
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time that the brand was created at.",
            "example": "2021-03-08T17:57:48.801186"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date and time that the brand was last updated at.",
            "example": "2021-03-08T17:57:48.801186"
          },
          "status": {
            "title": "status",
            "description": "Status of the brand",
            "enum": [
              "OK",
              "REGISTRATION_PENDING",
              "REGISTRATION_FAILED"
            ],
            "type": "string"
          },
          "failureReasons": {
            "title": "failureReasons",
            "description": "Failure reasons for brand",
            "type": "string"
          }
        },
        "description": "Telnyx-specific extensions to The Campaign Registry's `Brand` type"
      },
      "TelnyxBrandWithCampaignsCount": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TelnyxBrand"
          },
          {
            "type": "object",
            "title": "TelnyxBrandWithCampaignsCount",
            "properties": {
              "assignedCampaignsCount": {
                "title": "AssignedCampaignsCount",
                "description": "Number of campaigns associated with the brand",
                "type": "number",
                "example": 3
              }
            }
          }
        ]
      },
      "TelnyxCampaignWithAssignedCount_CSP": {
        "title": "TelnyxCampaignWithAssignedCount_CSP",
        "type": "object",
        "properties": {
          "ageGated": {
            "title": "Agegated",
            "type": "boolean",
            "description": "Age gated content in campaign."
          },
          "autoRenewal": {
            "title": "Autorenewal",
            "type": "boolean",
            "description": "Campaign subscription auto-renewal status."
          },
          "billedDate": {
            "title": "Billeddate",
            "type": "string",
            "description": "Campaign recent billed date."
          },
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand.",
            "example": "d2ca9d69-641b-4131-83fa-5d0744f4c8a9"
          },
          "brandDisplayName": {
            "title": "Branddisplayname",
            "description": "Display or marketing name of the brand.",
            "example": "ABC Mobile",
            "type": "string"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "Unique identifier for a campaign.",
            "example": "823d6b1a-6ed6-41a3-9c50-c8ff41b682ba"
          },
          "tcrBrandId": {
            "title": "TcrBrandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand by the registry.",
            "example": "BBRAND1"
          },
          "tcrCampaignId": {
            "title": "TcrCampaignid",
            "type": "string",
            "description": "Unique identifier assigned to the campaign by the registry.",
            "example": "CCAMP1"
          },
          "createDate": {
            "title": "Createdate",
            "type": "string",
            "description": "Unix timestamp when campaign was created."
          },
          "cspId": {
            "title": "Cspid",
            "type": "string",
            "description": "Alphanumeric identifier of the CSP associated with this campaign."
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Summary description of this campaign."
          },
          "directLending": {
            "title": "Directlending",
            "type": "boolean"
          },
          "embeddedLink": {
            "title": "Embeddedlink",
            "type": "boolean",
            "description": "Does message generated by the campaign include URL link in SMS?"
          },
          "embeddedPhone": {
            "title": "Embeddedphone",
            "type": "boolean",
            "description": "Does message generated by the campaign include phone number in SMS?"
          },
          "helpKeywords": {
            "title": "Helpkeywords",
            "type": "string",
            "description": "Subscriber help keywords. Multiple keywords are comma separated without space."
          },
          "helpMessage": {
            "title": "Helpmessage",
            "type": "string",
            "description": "Help message of the campaign."
          },
          "messageFlow": {
            "title": "Messageflow",
            "type": "string",
            "description": "Message flow description."
          },
          "mock": {
            "title": "Mock",
            "type": "boolean",
            "description": "Campaign created from mock brand. Mocked campaign cannot be shared with an upstream CNP."
          },
          "nextRenewalOrExpirationDate": {
            "title": "Nextrenewalorexpirationdate",
            "type": "string",
            "description": "When the campaign would be due for its next renew/bill date."
          },
          "numberPool": {
            "title": "Numberpool",
            "type": "boolean",
            "description": "Does campaign utilize pool of phone numbers?"
          },
          "optinKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "description": "Subscriber opt-in keywords. Multiple keywords are comma separated without space."
          },
          "optinMessage": {
            "title": "Optinmessage",
            "type": "string",
            "description": "Subscriber opt-in message."
          },
          "optoutKeywords": {
            "title": "Optoutkeywords",
            "type": "string",
            "description": "Subscriber opt-out keywords. Multiple keywords are comma separated without space."
          },
          "optoutMessage": {
            "title": "Optoutmessage",
            "type": "string",
            "description": "Subscriber opt-out message."
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations."
          },
          "resellerId": {
            "title": "Resellerid",
            "type": "string",
            "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign."
          },
          "sample1": {
            "title": "Sample1",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 1 or more message samples."
          },
          "sample2": {
            "title": "Sample2",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 2 or more message samples."
          },
          "sample3": {
            "title": "Sample3",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 3 or more message samples."
          },
          "sample4": {
            "title": "Sample4",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 4 or more message samples."
          },
          "sample5": {
            "title": "Sample5",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 5 or more message samples."
          },
          "status": {
            "title": "Status",
            "type": "string",
            "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. "
          },
          "subUsecases": {
            "title": "Subusecases",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases"
          },
          "subscriberHelp": {
            "title": "Subscriberhelp",
            "type": "boolean",
            "description": "Does campaign responds to help keyword(s)?"
          },
          "subscriberOptin": {
            "title": "Subscriberoptin",
            "type": "boolean",
            "description": "Does campaign require subscriber to opt-in before SMS is sent to subscriber?"
          },
          "subscriberOptout": {
            "title": "Subscriberoptout",
            "type": "boolean",
            "description": "Does campaign support subscriber opt-out keyword(s)?"
          },
          "termsAndConditions": {
            "title": "Termsandconditions",
            "type": "boolean",
            "description": "Is terms & conditions accepted?"
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand."
          },
          "vertical": {
            "title": "Vertical",
            "type": "string",
            "description": "Business/industry segment of this campaign (Deprecated). Must be of defined valid types. Use `/registry/enum/vertical` operation to retrieve verticals available for given brand, vertical combination.\n\nThis field is deprecated.",
            "deprecated": true
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent.",
            "example": "https://example.com/webhook"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Failover webhook to which campaign status updates are sent.",
            "example": "https://example.com/failover-webhook"
          },
          "isTMobileRegistered": {
            "title": "IsTMobileRegistered",
            "type": "boolean",
            "description": "Indicates whether the campaign is registered with T-Mobile."
          },
          "isTMobileSuspended": {
            "title": "isTMobileSuspended",
            "type": "boolean",
            "description": "Indicates whether the campaign is suspended with T-Mobile."
          },
          "isTMobileNumberPoolingEnabled": {
            "title": "isTMobileNumberPoolingEnabled",
            "type": "boolean",
            "description": "Indicates whether the campaign has a T-Mobile number pool ID associated with it."
          },
          "failureReasons": {
            "title": "failureReasons",
            "description": "Failure reasons if campaign submission failed",
            "type": "string"
          },
          "submissionStatus": {
            "title": "submissionStatus",
            "description": "Campaign submission status",
            "enum": [
              "CREATED",
              "FAILED",
              "PENDING"
            ],
            "type": "string"
          },
          "campaignStatus": {
            "title": "campaignStatus",
            "description": "Campaign status",
            "example": "TCR_ACCEPTED",
            "enum": [
              "TCR_PENDING",
              "TCR_SUSPENDED",
              "TCR_EXPIRED",
              "TCR_ACCEPTED",
              "TCR_FAILED",
              "TELNYX_ACCEPTED",
              "TELNYX_FAILED",
              "MNO_PENDING",
              "MNO_ACCEPTED",
              "MNO_REJECTED",
              "MNO_PROVISIONED",
              "MNO_PROVISIONING_FAILED"
            ],
            "type": "string"
          },
          "privacyPolicyLink": {
            "title": "PrivacyPolicyLink",
            "type": "string",
            "description": "Link to the campaign's privacy policy."
          },
          "termsAndConditionsLink": {
            "title": "TermsAndConditionsLink",
            "type": "string",
            "description": "Link to the campaign's terms and conditions."
          },
          "embeddedLinkSample": {
            "title": "EmbeddedLinkSample",
            "type": "string",
            "description": "Sample of an embedded link that will be sent to subscribers."
          },
          "assignedPhoneNumbersCount": {
            "title": "AssignedPhoneNumbersCount",
            "description": "Number of phone numbers associated with the campaign",
            "type": "number",
            "example": 3
          }
        }
      },
      "TelnyxCampaign_CSP": {
        "title": "TelnyxCampaign_CSP",
        "required": [
          "brandId",
          "campaignId",
          "cspId",
          "description",
          "mock",
          "subUsecases",
          "termsAndConditions",
          "usecase"
        ],
        "type": "object",
        "properties": {
          "ageGated": {
            "title": "Agegated",
            "type": "boolean",
            "description": "Age gated content in campaign."
          },
          "autoRenewal": {
            "title": "Autorenewal",
            "type": "boolean",
            "description": "Campaign subscription auto-renewal status."
          },
          "billedDate": {
            "title": "Billeddate",
            "type": "string",
            "description": "Campaign recent billed date."
          },
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand.",
            "example": "d2ca9d69-641b-4131-83fa-5d0744f4c8a9"
          },
          "brandDisplayName": {
            "title": "Branddisplayname",
            "description": "Display or marketing name of the brand.",
            "example": "ABC Mobile",
            "type": "string"
          },
          "campaignId": {
            "title": "Campaignid",
            "type": "string",
            "description": "Unique identifier for a campaign.",
            "example": "823d6b1a-6ed6-41a3-9c50-c8ff41b682ba"
          },
          "tcrBrandId": {
            "title": "TcrBrandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand by the registry.",
            "example": "BBRAND1"
          },
          "tcrCampaignId": {
            "title": "TcrCampaignid",
            "type": "string",
            "description": "Unique identifier assigned to the campaign by the registry.",
            "example": "CCAMP1"
          },
          "createDate": {
            "title": "Createdate",
            "type": "string",
            "description": "Unix timestamp when campaign was created."
          },
          "cspId": {
            "title": "Cspid",
            "type": "string",
            "description": "Alphanumeric identifier of the CSP associated with this campaign."
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Summary description of this campaign."
          },
          "directLending": {
            "title": "Directlending",
            "type": "boolean"
          },
          "embeddedLink": {
            "title": "Embeddedlink",
            "type": "boolean",
            "description": "Does message generated by the campaign include URL link in SMS?"
          },
          "embeddedPhone": {
            "title": "Embeddedphone",
            "type": "boolean",
            "description": "Does message generated by the campaign include phone number in SMS?"
          },
          "helpKeywords": {
            "title": "Helpkeywords",
            "type": "string",
            "description": "Subscriber help keywords. Multiple keywords are comma separated without space."
          },
          "helpMessage": {
            "title": "Helpmessage",
            "type": "string",
            "description": "Help message of the campaign."
          },
          "messageFlow": {
            "title": "Messageflow",
            "type": "string",
            "description": "Message flow description."
          },
          "mock": {
            "title": "Mock",
            "type": "boolean",
            "description": "Campaign created from mock brand. Mocked campaign cannot be shared with an upstream CNP."
          },
          "nextRenewalOrExpirationDate": {
            "title": "Nextrenewalorexpirationdate",
            "type": "string",
            "description": "When the campaign would be due for its next renew/bill date."
          },
          "numberPool": {
            "title": "Numberpool",
            "type": "boolean",
            "description": "Does campaign utilize pool of phone numbers?"
          },
          "optinKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "description": "Subscriber opt-in keywords. Multiple keywords are comma separated without space."
          },
          "optinMessage": {
            "title": "Optinmessage",
            "type": "string",
            "description": "Subscriber opt-in message."
          },
          "optoutKeywords": {
            "title": "Optoutkeywords",
            "type": "string",
            "description": "Subscriber opt-out keywords. Multiple keywords are comma separated without space."
          },
          "optoutMessage": {
            "title": "Optoutmessage",
            "type": "string",
            "description": "Subscriber opt-out message."
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations."
          },
          "resellerId": {
            "title": "Resellerid",
            "type": "string",
            "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign."
          },
          "sample1": {
            "title": "Sample1",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 1 or more message samples."
          },
          "sample2": {
            "title": "Sample2",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 2 or more message samples."
          },
          "sample3": {
            "title": "Sample3",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 3 or more message samples."
          },
          "sample4": {
            "title": "Sample4",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 4 or more message samples."
          },
          "sample5": {
            "title": "Sample5",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 5 or more message samples."
          },
          "status": {
            "title": "Status",
            "type": "string",
            "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. "
          },
          "subUsecases": {
            "title": "Subusecases",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases"
          },
          "subscriberHelp": {
            "title": "Subscriberhelp",
            "type": "boolean",
            "description": "Does campaign responds to help keyword(s)?"
          },
          "subscriberOptin": {
            "title": "Subscriberoptin",
            "type": "boolean",
            "description": "Does campaign require subscriber to opt-in before SMS is sent to subscriber?"
          },
          "subscriberOptout": {
            "title": "Subscriberoptout",
            "type": "boolean",
            "description": "Does campaign support subscriber opt-out keyword(s)?"
          },
          "termsAndConditions": {
            "title": "Termsandconditions",
            "type": "boolean",
            "description": "Is terms & conditions accepted?"
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand."
          },
          "vertical": {
            "title": "Vertical",
            "type": "string",
            "description": "Business/industry segment of this campaign (Deprecated). Must be of defined valid types. Use `/registry/enum/vertical` operation to retrieve verticals available for given brand, vertical combination.\n\nThis field is deprecated.",
            "deprecated": true
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent.",
            "example": "https://example.com/webhook"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Failover webhook to which campaign status updates are sent.",
            "example": "https://example.com/failover-webhook"
          },
          "isTMobileRegistered": {
            "title": "IsTMobileRegistered",
            "type": "boolean",
            "description": "Indicates whether the campaign is registered with T-Mobile."
          },
          "isTMobileSuspended": {
            "title": "isTMobileSuspended",
            "type": "boolean",
            "description": "Indicates whether the campaign is suspended with T-Mobile."
          },
          "isTMobileNumberPoolingEnabled": {
            "title": "isTMobileNumberPoolingEnabled",
            "type": "boolean",
            "description": "Indicates whether the campaign has a T-Mobile number pool ID associated with it."
          },
          "failureReasons": {
            "title": "failureReasons",
            "description": "Failure reasons if campaign submission failed",
            "type": "string"
          },
          "submissionStatus": {
            "title": "submissionStatus",
            "description": "Campaign submission status",
            "enum": [
              "CREATED",
              "FAILED",
              "PENDING"
            ],
            "type": "string"
          },
          "campaignStatus": {
            "title": "campaignStatus",
            "description": "Campaign status",
            "example": "TCR_ACCEPTED",
            "enum": [
              "TCR_PENDING",
              "TCR_SUSPENDED",
              "TCR_EXPIRED",
              "TCR_ACCEPTED",
              "TCR_FAILED",
              "TELNYX_ACCEPTED",
              "TELNYX_FAILED",
              "MNO_PENDING",
              "MNO_ACCEPTED",
              "MNO_REJECTED",
              "MNO_PROVISIONED",
              "MNO_PROVISIONING_FAILED"
            ],
            "type": "string"
          },
          "privacyPolicyLink": {
            "title": "PrivacyPolicyLink",
            "type": "string",
            "description": "Link to the campaign's privacy policy."
          },
          "termsAndConditionsLink": {
            "title": "TermsAndConditionsLink",
            "type": "string",
            "description": "Link to the campaign's terms and conditions."
          },
          "embeddedLinkSample": {
            "title": "EmbeddedLinkSample",
            "type": "string",
            "description": "Sample of an embedded link that will be sent to subscribers."
          }
        },
        "description": "Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier - **campaignId**. Once a campaign is activated, limited information is published to the NetNumber OSR service for consumption by members of the ecosystem. When a campaign is suspended(reversible) or expired(non-reversible), campaign data is deleted from the OSR service. Most attributes of campaignare immutable, including **usecase**, **vertical**, **brandId** and **cspId**."
      },
      "TelnyxConversationChannel": {
        "type": "string",
        "enum": [
          "phone_call",
          "web_call",
          "sms_chat",
          "web_chat"
        ],
        "title": "TelnyxConversationChannel"
      },
      "TelnyxDesignClone": {
        "type": "object",
        "description": "Create a voice clone from a voice design using the Telnyx provider.",
        "required": [
          "name",
          "voice_design_id",
          "language",
          "gender"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Name for the voice clone."
          },
          "voice_design_id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the source voice design to clone."
          },
          "language": {
            "type": "string",
            "description": "ISO 639-1 language code for the clone. Supports the combined Telnyx language set."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Gender of the voice clone."
          },
          "provider": {
            "type": "string",
            "enum": [
              "telnyx",
              "Telnyx"
            ],
            "default": "telnyx",
            "description": "Voice synthesis provider. Defaults to `telnyx`."
          }
        },
        "example": {
          "name": "clone-narrator",
          "voice_design_id": "550e8400-e29b-41d4-a716-446655440000",
          "language": "en",
          "gender": "male",
          "provider": "telnyx"
        }
      },
      "TelnyxDownstreamCampaign": {
        "title": "TelnyxDownstreamCampaign",
        "required": [
          "tcrBrandId",
          "tcrCampaignId"
        ],
        "type": "object",
        "properties": {
          "ageGated": {
            "title": "AgeGated",
            "type": "boolean",
            "description": "Age gated content in campaign."
          },
          "assignedPhoneNumbersCount": {
            "title": "AssignedPhoneNumbersCount",
            "description": "Number of phone numbers associated with the campaign",
            "type": "number",
            "example": 3
          },
          "brandDisplayName": {
            "title": "Branddisplayname",
            "description": "Display or marketing name of the brand.",
            "example": "ABC Mobile",
            "type": "string"
          },
          "campaignStatus": {
            "title": "campaignStatus",
            "description": "Campaign status",
            "example": "TCR_ACCEPTED",
            "enum": [
              "TCR_PENDING",
              "TCR_SUSPENDED",
              "TCR_EXPIRED",
              "TCR_ACCEPTED",
              "TCR_FAILED",
              "TELNYX_ACCEPTED",
              "TELNYX_FAILED",
              "MNO_PENDING",
              "MNO_ACCEPTED",
              "MNO_REJECTED",
              "MNO_PROVISIONED",
              "MNO_PROVISIONING_FAILED"
            ],
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string",
            "description": "Summary description of this campaign."
          },
          "directLending": {
            "title": "Directlending",
            "type": "boolean",
            "description": "Direct lending or loan arrangement."
          },
          "embeddedLink": {
            "title": "Embeddedlink",
            "type": "boolean",
            "description": "Does message generated by the campaign include URL link in SMS?"
          },
          "embeddedLinkSample": {
            "title": "EmbeddedLinkSample",
            "type": "string",
            "description": "Sample of an embedded link that will be sent to subscribers."
          },
          "embeddedPhone": {
            "title": "Embeddedphone",
            "type": "boolean",
            "description": "Does message generated by the campaign include phone number in SMS?"
          },
          "failureReasons": {
            "title": "failureReasons",
            "description": "Failure reasons if campaign submission failed",
            "type": "string"
          },
          "helpKeywords": {
            "title": "Helpkeywords",
            "type": "string",
            "description": "Subscriber help keywords. Multiple keywords are comma separated without space."
          },
          "helpMessage": {
            "title": "Helpmessage",
            "type": "string",
            "description": "Help message of the campaign."
          },
          "isNumberPoolingEnabled": {
            "title": "isNumberPoolingEnabled",
            "type": "boolean",
            "description": "Indicates whether the campaign has a T-Mobile number pool ID associated with it."
          },
          "messageFlow": {
            "title": "Messageflow",
            "type": "string",
            "description": "Message flow description."
          },
          "numberPool": {
            "title": "Numberpool",
            "type": "boolean",
            "description": "Does campaign utilize pool of phone numbers?"
          },
          "optinKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "description": "Subscriber opt-in keywords. Multiple keywords are comma separated without space."
          },
          "optinMessage": {
            "title": "Optinmessage",
            "type": "string",
            "description": "Subscriber opt-in message."
          },
          "optoutKeywords": {
            "title": "Optoutkeywords",
            "type": "string",
            "description": "Subscriber opt-out keywords. Multiple keywords are comma separated without space."
          },
          "optoutMessage": {
            "title": "Optoutmessage",
            "type": "string",
            "description": "Subscriber opt-out message."
          },
          "privacyPolicyLink": {
            "title": "PrivacyPolicyLink",
            "type": "string",
            "description": "Link to the campaign's privacy policy."
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand."
          },
          "sample1": {
            "title": "Sample1",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 1 or more message samples."
          },
          "sample2": {
            "title": "Sample2",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 2 or more message samples."
          },
          "sample3": {
            "title": "Sample3",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 3 or more message samples."
          },
          "sample4": {
            "title": "Sample4",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 4 or more message samples."
          },
          "sample5": {
            "title": "Sample5",
            "type": "string",
            "description": "Message sample. Some campaign tiers require 5 or more message samples."
          },
          "subUsecases": {
            "title": "Subusecases",
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases"
          },
          "subscriberOptin": {
            "title": "Subscriberoptin",
            "type": "boolean",
            "description": "Does campaign require subscriber to opt-in before SMS is sent to subscriber?"
          },
          "subscriberOptout": {
            "title": "Subscriberoptout",
            "type": "boolean",
            "description": "Does campaign support subscriber opt-out keyword(s)?"
          },
          "tcrBrandId": {
            "title": "TcrBrandid",
            "type": "string",
            "description": "Unique identifier assigned to the brand by the registry.",
            "example": "BBRAND1"
          },
          "tcrCampaignId": {
            "title": "TcrCampaignid",
            "type": "string",
            "description": "Unique identifier assigned to the campaign by the registry.",
            "example": "CCAMP1"
          },
          "termsAndConditions": {
            "title": "Termsandconditions",
            "type": "boolean",
            "description": "Is terms & conditions accepted?"
          },
          "termsAndConditionsLink": {
            "title": "TermsAndConditionsLink",
            "type": "string",
            "description": "Link to the campaign's terms and conditions."
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent.",
            "example": "https://example.com/webhook"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Failover webhook to which campaign status updates are sent.",
            "example": "https://example.com/failover-webhook"
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time that the brand was created at.",
            "example": "2021-03-08T17:57:48.801186"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date and time that the brand was last updated at.",
            "example": "2021-03-08T17:57:48.801186"
          }
        },
        "description": "Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier - **campaignId**. Once a campaign is activated, limited information is published to the NetNumber OSR service for consumption by members of the ecosystem. When a campaign is suspended(reversible) or expired(non-reversible), campaign data is deleted from the OSR service."
      },
      "TelnyxDownstreamCampaignRecordSet": {
        "title": "TelnyxDownstreamCampaignRecordSet",
        "type": "object",
        "properties": {
          "records": {
            "title": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelnyxDownstreamCampaign"
            }
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "totalRecords": {
            "title": "Totalrecords",
            "type": "integer"
          }
        }
      },
      "TelnyxError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Telnyx error code",
            "example": "10015"
          },
          "title": {
            "type": "string",
            "description": "Short error title",
            "example": "Bad Request"
          },
          "detail": {
            "type": "string",
            "description": "Human-readable error detail",
            "example": "User has already agreed to Terms of Service version v1.0.0"
          },
          "meta": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "Link to error documentation"
              }
            }
          },
          "source": {
            "type": "object",
            "description": "Reference to the field that caused the error",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "JSON pointer (RFC6901) to the field that caused the error",
                "example": "/body/organization_type"
              }
            }
          }
        },
        "required": [
          "code",
          "title"
        ]
      },
      "TelnyxProviderParams": {
        "type": "object",
        "description": "Telnyx provider-specific parameters. Use `voice_speed` and `temperature` for `Natural` and `NaturalHD` models. For the `Ultra` model, use `voice_speed`, `volume`, and `emotion`.",
        "properties": {
          "voice_speed": {
            "type": "number",
            "format": "float",
            "description": "Voice speed multiplier. Applies to all models. Range: 0.5 to 2.0.",
            "minimum": 0.5,
            "maximum": 2,
            "default": 1
          },
          "response_format": {
            "type": "string",
            "description": "Audio response format.",
            "default": "mp3"
          },
          "sampling_rate": {
            "type": "integer",
            "description": "Audio sampling rate in Hz.",
            "default": 24000
          },
          "temperature": {
            "type": "number",
            "format": "float",
            "description": "Sampling temperature. Applies to `Natural` and `NaturalHD` models only.",
            "default": 0.5
          },
          "volume": {
            "type": "number",
            "format": "float",
            "description": "Volume level for the Ultra model. Range: 0.0 to 2.0.",
            "minimum": 0,
            "maximum": 2,
            "default": 1
          },
          "emotion": {
            "type": "string",
            "description": "Emotion control for the Ultra model. Adjusts the emotional tone of the synthesized speech.",
            "enum": [
              "neutral",
              "happy",
              "sad",
              "angry",
              "fearful",
              "disgusted",
              "surprised"
            ]
          }
        }
      },
      "TelnyxQwen3TTSClone": {
        "type": "object",
        "description": "Upload-based voice clone using the Telnyx Qwen3TTS model (default).",
        "required": [
          "audio_file",
          "name",
          "language",
          "gender",
          "provider"
        ],
        "properties": {
          "audio_file": {
            "type": "string",
            "format": "binary",
            "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum size: 5MB."
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "description": "Name for the voice clone."
          },
          "language": {
            "type": "string",
            "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$",
            "description": "ISO 639-1 language code from the Qwen language set."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Gender of the voice clone."
          },
          "ref_text": {
            "type": "string",
            "description": "Optional transcript of the audio file. Providing this improves clone quality."
          },
          "label": {
            "type": "string",
            "description": "Optional custom label describing the voice style."
          },
          "model_id": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Qwen3TTS",
              null
            ],
            "description": "TTS model identifier. Nullable/omittable — defaults to Qwen3TTS."
          },
          "provider": {
            "type": "string",
            "enum": [
              "telnyx",
              "Telnyx"
            ],
            "description": "Voice synthesis provider. Must be `telnyx`."
          }
        }
      },
      "TelnyxTranscriptionLanguage": {
        "title": "Telnyx transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition",
        "example": "en",
        "default": "en",
        "enum": [
          "en",
          "zh",
          "de",
          "es",
          "ru",
          "ko",
          "fr",
          "ja",
          "pt",
          "tr",
          "pl",
          "ca",
          "nl",
          "ar",
          "sv",
          "it",
          "id",
          "hi",
          "fi",
          "vi",
          "he",
          "uk",
          "el",
          "ms",
          "cs",
          "ro",
          "da",
          "hu",
          "ta",
          "no",
          "th",
          "ur",
          "hr",
          "bg",
          "lt",
          "la",
          "mi",
          "ml",
          "cy",
          "sk",
          "te",
          "fa",
          "lv",
          "bn",
          "sr",
          "az",
          "sl",
          "kn",
          "et",
          "mk",
          "br",
          "eu",
          "is",
          "hy",
          "ne",
          "mn",
          "bs",
          "kk",
          "sq",
          "sw",
          "gl",
          "mr",
          "pa",
          "si",
          "km",
          "sn",
          "yo",
          "so",
          "af",
          "oc",
          "ka",
          "be",
          "tg",
          "sd",
          "gu",
          "am",
          "yi",
          "lo",
          "uz",
          "fo",
          "ht",
          "ps",
          "tk",
          "nn",
          "mt",
          "sa",
          "lb",
          "my",
          "bo",
          "tl",
          "mg",
          "as",
          "tt",
          "haw",
          "ln",
          "ha",
          "ba",
          "jw",
          "su",
          "auto_detect"
        ]
      },
      "TelnyxUltraClone": {
        "type": "object",
        "description": "Upload-based voice clone using the Telnyx Ultra model.",
        "required": [
          "audio_file",
          "name",
          "language",
          "gender",
          "model_id",
          "provider"
        ],
        "properties": {
          "audio_file": {
            "type": "string",
            "format": "binary",
            "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum size: 5MB."
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "description": "Name for the voice clone."
          },
          "language": {
            "type": "string",
            "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$",
            "description": "ISO 639-1 language code from the Ultra language set (40 languages)."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Gender of the voice clone."
          },
          "ref_text": {
            "type": "string",
            "description": "Optional transcript of the audio file. Providing this improves clone quality."
          },
          "label": {
            "type": "string",
            "description": "Optional custom label describing the voice style."
          },
          "model_id": {
            "type": "string",
            "enum": [
              "Ultra"
            ],
            "description": "TTS model identifier. Must be `Ultra`."
          },
          "provider": {
            "type": "string",
            "enum": [
              "telnyx",
              "Telnyx"
            ],
            "description": "Voice synthesis provider. Must be `telnyx`."
          }
        }
      },
      "TelnyxVoiceSettings": {
        "type": "object",
        "title": "Telnyx Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "telnyx"
            ],
            "description": "Voice settings provider type"
          },
          "voice_speed": {
            "description": "The voice speed to be used for the voice. The voice speed must be between 0.1 and 2.0. Default value is 1.0.",
            "type": "number",
            "default": 1,
            "format": "float",
            "example": 1,
            "minimum": 0.1,
            "maximum": 2
          }
        },
        "required": [
          "type"
        ]
      },
      "TemplateType": {
        "type": "string",
        "enum": [
          "custom",
          "default"
        ],
        "title": "TemplateType"
      },
      "TestRunDetailResult": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "status": {
            "$ref": "#/components/schemas/TestStatus"
          }
        },
        "type": "object",
        "required": [
          "name",
          "status"
        ],
        "title": "TestRunDetailResult"
      },
      "TestRunResponse": {
        "properties": {
          "run_id": {
            "type": "string",
            "format": "uuid",
            "title": "Run Id",
            "description": "Unique identifier for this specific test run execution.",
            "example": "987fcdeb-51a2-43d1-b456-426614174000"
          },
          "test_id": {
            "type": "string",
            "format": "uuid",
            "title": "Test Id",
            "description": "Identifier of the assistant test that was executed.",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "status": {
            "$ref": "#/components/schemas/TestStatus"
          },
          "triggered_by": {
            "type": "string",
            "title": "Triggered By",
            "description": "How this test run was initiated (manual, scheduled, or API).",
            "example": "cron"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "title": "Completed At",
            "description": "Timestamp when the test run finished execution."
          },
          "logs": {
            "type": "string",
            "title": "Logs",
            "description": "Detailed execution logs and debug information."
          },
          "conversation_id": {
            "type": "string",
            "title": "Conversation Id",
            "description": "Identifier of the conversation created during test execution."
          },
          "conversation_insights_id": {
            "type": "string",
            "title": "Conversation Insights Id",
            "description": "Identifier for conversation analysis and insights data."
          },
          "test_suite_run_id": {
            "type": "string",
            "format": "uuid",
            "title": "Test Suite Run Id",
            "description": "Identifier linking this run to a test suite execution batch."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "Timestamp when the test run was created and queued.",
            "example": "2024-01-24T10:30:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "Timestamp of the last update to this test run."
          },
          "detail_status": {
            "items": {
              "$ref": "#/components/schemas/TestRunDetailResult"
            },
            "type": "array",
            "title": "Detail Status",
            "description": "Detailed evaluation results for each rubric criteria. Name is name of the criteria from the rubric and status is the result of the evaluation. This list will have a result for every criteria in the rubric section."
          }
        },
        "type": "object",
        "required": [
          "run_id",
          "test_id",
          "status",
          "triggered_by",
          "created_at"
        ],
        "title": "TestRunResponse",
        "description": "Response model containing test run execution details and results.\n\nProvides comprehensive information about a test execution including\nstatus, timing, logs, and detailed evaluation results."
      },
      "TestStatus": {
        "type": "string",
        "enum": [
          "pending",
          "starting",
          "running",
          "passed",
          "failed",
          "error"
        ],
        "title": "TestStatus",
        "description": "Represents the lifecycle of a test:\n  - 'pending': Test is waiting to be executed.\n  - 'starting': Test execution is initializing.\n  - 'running': Test is currently executing.\n  - 'passed': Test completed successfully.\n  - 'failed': Test executed but did not pass.\n  - 'error': An error occurred during test execution."
      },
      "TestSuitesResponse": {
        "properties": {
          "data": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Data",
            "description": "Array of unique test suite names available to the user.",
            "example": [
              "customer-support",
              "sales-flow",
              "onboarding"
            ]
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TestSuitesResponse",
        "description": "Response containing all available test suite names.\n\nReturns a list of distinct test suite names that can be used for\nfiltering and organizing tests."
      },
      "TestWebhookToolRequest": {
        "properties": {
          "arguments": {
            "type": "object",
            "title": "Arguments",
            "description": "Key-value arguments to use for the webhook test",
            "additionalProperties": true
          },
          "dynamic_variables": {
            "type": "object",
            "title": "Dynamic Variables",
            "description": "Key-value dynamic variables to use for the webhook test",
            "additionalProperties": true
          }
        },
        "type": "object",
        "title": "TestWebhookToolRequest",
        "description": "Request model for testing a webhook tool"
      },
      "TestWebhookToolResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "status_code": {
            "type": "integer",
            "title": "Status Code"
          },
          "content_type": {
            "type": "string",
            "title": "Content Type"
          },
          "response": {
            "type": "string",
            "title": "Response"
          },
          "request": {
            "type": "object",
            "title": "Request",
            "additionalProperties": true
          }
        },
        "type": "object",
        "required": [
          "success",
          "status_code",
          "content_type",
          "response",
          "request"
        ],
        "title": "TestWebhookToolResponse",
        "description": "Response model for webhook tool test results"
      },
      "TestWebhookToolResponseData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TestWebhookToolResponse"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TestWebhookToolResponseData",
        "description": "Response model for webhook tool test results"
      },
      "TexmlApplication": {
        "type": "object",
        "title": "Texml Application",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/IntId"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "texml_application"
          },
          "friendly_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "first_command_timeout": {
            "$ref": "#/components/schemas/FirstCommandTimeout"
          },
          "first_command_timeout_secs": {
            "$ref": "#/components/schemas/FirstCommandTimeoutSecs"
          },
          "voice_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks.",
            "format": "uri",
            "example": "https://example.com"
          },
          "voice_fallback_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url.",
            "default": null,
            "format": "uri",
            "example": "https://fallback.example.com"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this TeXML Application.",
            "default": false
          },
          "voice_method": {
            "type": "string",
            "description": "HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "status_callback": {
            "type": "string",
            "description": "URL for Telnyx to send requests to containing information about call progress events.",
            "default": null,
            "format": "uri",
            "example": "https://example.com"
          },
          "status_callback_method": {
            "type": "string",
            "description": "HTTP request method Telnyx should use when requesting the status_callback URL.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Texml Application.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "shaken_stir_enabled": {
                "type": "boolean",
                "description": "When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls.",
                "default": false,
                "example": false
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          }
        },
        "example": {
          "id": "1293384261075731499",
          "record_type": "texml_application",
          "active": false,
          "friendly_name": "call-router",
          "anchorsite_override": "Amsterdam, Netherlands",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "voice_url": "https://example.com",
          "voice_fallback_url": "https://fallback.example.com",
          "call_cost_in_webhooks": false,
          "voice_method": "get",
          "status_callback": "https://example.com",
          "status_callback_method": "get",
          "tags": [
            "tag1",
            "tag2"
          ],
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "created_at": "2020-02-02T22:25:27.521Z",
          "updated_at": "2020-02-03T22:25:27.521Z"
        }
      },
      "TexmlBidirectionalStreamCodec": {
        "type": "string",
        "title": "Stream Bidirectional Codec",
        "description": "Indicates codec for bidirectional streaming RTP payloads. Used only with stream_bidirectional_mode=rtp. Case sensitive.",
        "enum": [
          "PCMU",
          "PCMA",
          "G722"
        ],
        "default": "PCMU",
        "example": "G722"
      },
      "TexmlBidirectionalStreamMode": {
        "type": "string",
        "title": "Stream Bidirectional Mode",
        "description": "Configures method of bidirectional streaming (mp3, rtp).",
        "enum": [
          "mp3",
          "rtp"
        ],
        "default": "mp3",
        "example": "rtp"
      },
      "TexmlCreateCallRecordingRequestBody": {
        "type": "object",
        "title": "Texml Create Call Recording Request Body",
        "properties": {
          "PlayBeep": {
            "$ref": "#/components/schemas/PlayBeep"
          },
          "RecordingStatusCallbackEvent": {
            "$ref": "#/components/schemas/RecordingStatusCallbackEvent"
          },
          "RecordingStatusCallback": {
            "$ref": "#/components/schemas/TexmlStatusCallback"
          },
          "RecordingStatusCallbackMethod": {
            "$ref": "#/components/schemas/TexmlStatusCallbackMethod"
          },
          "RecordingChannels": {
            "$ref": "#/components/schemas/TexmlRecordingChannels"
          },
          "RecordingTrack": {
            "$ref": "#/components/schemas/RecordingTrack"
          },
          "SendRecordingUrl": {
            "$ref": "#/components/schemas/SendRecordingUrl"
          }
        }
      },
      "TexmlCreateCallRecordingResponseBody": {
        "type": "object",
        "title": "Texml Create Call Recording Response Body",
        "properties": {
          "account_sid": {
            "$ref": "#/components/schemas/AccountSid"
          },
          "call_sid": {
            "$ref": "#/components/schemas/CallControlId"
          },
          "conference_sid": {
            "$ref": "#/components/schemas/ConferenceSid"
          },
          "channels": {
            "$ref": "#/components/schemas/TwimlRecordingChannels"
          },
          "date_created": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "date_updated": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "start_time": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "price": {
            "$ref": "#/components/schemas/TexmlRecordingPrice"
          },
          "price_unit": {
            "$ref": "#/components/schemas/TexmlPriceUnit"
          },
          "duration": {
            "$ref": "#/components/schemas/TexmlRecordingDuration"
          },
          "sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "source": {
            "$ref": "#/components/schemas/RecordingSource"
          },
          "error_code": {
            "$ref": "#/components/schemas/TexmlErrorCode"
          },
          "track": {
            "$ref": "#/components/schemas/RecordingTrack"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this recording resource.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls/v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA/Recordings/b08f0fa1-a32c-4218-b3b5-9cf78941ccac.json"
          }
        }
      },
      "TexmlCreateCallStreamingRequestBody": {
        "type": "object",
        "title": "Texml Create Call Streaming Request Body",
        "properties": {
          "StatusCallback": {
            "$ref": "#/components/schemas/TexmlStatusCallback"
          },
          "StatusCallbackMethod": {
            "$ref": "#/components/schemas/TexmlStatusCallbackMethod"
          },
          "Track": {
            "$ref": "#/components/schemas/StreamTrack"
          },
          "Name": {
            "$ref": "#/components/schemas/StreamName"
          },
          "BidirectionalMode": {
            "$ref": "#/components/schemas/TexmlBidirectionalStreamMode"
          },
          "BidirectionalCodec": {
            "$ref": "#/components/schemas/TexmlBidirectionalStreamCodec"
          },
          "Url": {
            "$ref": "#/components/schemas/TexmlStreamUrl"
          }
        }
      },
      "TexmlCreateCallStreamingResponseBody": {
        "type": "object",
        "title": "Texml Create Call Streaming Response Body",
        "properties": {
          "account_sid": {
            "$ref": "#/components/schemas/AccountSid"
          },
          "call_sid": {
            "$ref": "#/components/schemas/CallControlId"
          },
          "sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "name": {
            "type": "string",
            "description": "The user specified name of Stream.",
            "example": "My stream"
          },
          "status": {
            "type": "string",
            "description": "The status of the streaming.",
            "enum": [
              "in-progress"
            ],
            "example": "in-progress"
          },
          "date_updated": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this streaming resource.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls/v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA/Streams/b08f0fa1-a32c-4218-b3b5-9cf78941ccac.json"
          }
        }
      },
      "TexmlCreateSiprecSessionRequestBody": {
        "type": "object",
        "title": "Create Siprec Session Request",
        "properties": {
          "ConnectorName": {
            "description": "The name of the connector to use for the SIPREC session.",
            "example": "my_connector",
            "type": "string"
          },
          "Name": {
            "description": "Name of the SIPREC session. May be used to stop the SIPREC session from TeXML instruction.",
            "example": "my_siprec_session",
            "type": "string"
          },
          "Track": {
            "description": "The track to be used for siprec session. Can be `both_tracks`, `inbound_track` or `outbound_track`. Defaults to `both_tracks`.",
            "example": "both_tracks",
            "type": "string",
            "enum": [
              "both_tracks",
              "inbound_track",
              "outbound_track"
            ]
          },
          "IncludeMetadataCustomHeaders": {
            "description": "When set, custom parameters will be added as metadata (recording.session.ExtensionParameters). Otherwise, they’ll be added to sip headers.",
            "example": true,
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "Secure": {
            "description": "Controls whether to encrypt media sent to your SRS using SRTP and TLS. When set you need to configure SRS port in your connector to 5061.",
            "example": true,
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "SessionTimeoutSecs": {
            "description": "Sets `Session-Expires` header to the INVITE. A reinvite is sent every half the value set. Usefull for session keep alive. Minimum value is 90, set to 0 to disable.",
            "example": 900,
            "type": "integer",
            "default": 1800
          },
          "SipTransport": {
            "description": "Specifies SIP transport protocol.",
            "example": "tcp",
            "enum": [
              "udp",
              "tcp",
              "tls"
            ],
            "type": "string",
            "default": "udp"
          },
          "StatusCallback": {
            "description": "URL destination for Telnyx to send status callback events to for the siprec session.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "StatusCallbackMethod": {
            "description": "HTTP request type used for `StatusCallback`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          }
        }
      },
      "TexmlCreateSiprecSessionResponseBody": {
        "type": "object",
        "title": "Create Siprec Session Response",
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "call_sid": {
            "type": "string",
            "description": "The id of the call the resource belongs to.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "sid": {
            "description": "The SID of the siprec session.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18123",
            "type": "string"
          },
          "date_created": {
            "description": "The date and time the siprec session was created.",
            "example": "Fri, 11 Aug 2023 19:12:11 +0000",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time the siprec session was last updated.",
            "example": "Fri, 11 Aug 2023 19:12:11 +0000",
            "type": "string"
          },
          "start_time": {
            "description": "The date and time the siprec session was started.",
            "example": "Fri, 11 Aug 2023 19:12:11 +0000",
            "type": "string"
          },
          "status": {
            "description": "The status of the siprec session.",
            "example": "in-progress",
            "type": "string",
            "enum": [
              "in-progress",
              "stopped"
            ]
          },
          "track": {
            "description": "The track used for the siprec session.",
            "example": "both_tracks",
            "type": "string",
            "enum": [
              "both_tracks",
              "inbound_track",
              "outbound_track"
            ]
          },
          "uri": {
            "description": "The URI of the siprec session.",
            "example": "https://api.telnyx.com/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18123/Calls/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-ai/Siprec/61bf923e-5e4d-4595-a110-56190ea18123",
            "type": "string"
          },
          "error_code": {
            "description": "The error code of the siprec session.",
            "type": "string"
          }
        }
      },
      "TexmlErrorCode": {
        "type": [
          "string",
          "null"
        ],
        "example": null
      },
      "TexmlGetCallRecordingResponseBody": {
        "type": "object",
        "title": "Texml Get Call Recording Response Body",
        "properties": {
          "account_sid": {
            "$ref": "#/components/schemas/AccountSid"
          },
          "call_sid": {
            "$ref": "#/components/schemas/CallControlId"
          },
          "conference_sid": {
            "$ref": "#/components/schemas/ConferenceSid"
          },
          "channels": {
            "$ref": "#/components/schemas/TwimlRecordingChannels"
          },
          "date_created": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "date_updated": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "start_time": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "duration": {
            "$ref": "#/components/schemas/TexmlRecordingDuration"
          },
          "sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "source": {
            "$ref": "#/components/schemas/RecordingSource"
          },
          "status": {
            "$ref": "#/components/schemas/TexmlRecordingStatus"
          },
          "error_code": {
            "$ref": "#/components/schemas/TexmlErrorCode"
          },
          "subresources_uris": {
            "$ref": "#/components/schemas/TexmlRecordingSubresourcesUris"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this recording resource.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Recordings/b08f0fa1-a32c-4218-b3b5-9cf78941ccac.json"
          },
          "media_url": {
            "$ref": "#/components/schemas/TexmlRecordingMediaUrl"
          }
        }
      },
      "TexmlGetCallRecordingsResponseBody": {
        "type": "object",
        "title": "Multiple recording resources",
        "properties": {
          "recordings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TexmlGetCallRecordingResponseBody"
            }
          },
          "end": {
            "type": "integer",
            "description": "The number of the last element on the page, zero-indexed.",
            "example": 19
          },
          "first_page_uri": {
            "type": "string",
            "format": "uri",
            "description": "Relative uri to the first page of the query results"
          },
          "previous_page_uri": {
            "type": "string",
            "format": "uri",
            "description": "Relative uri to the previous page of the query results"
          },
          "next_page_uri": {
            "type": "string",
            "description": "Relative uri to the next page of the query results",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls.json?Page=1&PageSize=1"
          },
          "page": {
            "type": "integer",
            "description": "Current page number, zero-indexed.",
            "example": 0
          },
          "page_size": {
            "type": "integer",
            "description": "The number of items on the page",
            "example": 20
          },
          "start": {
            "type": "integer",
            "description": "The number of the first element on the page, zero-indexed.",
            "example": 0
          },
          "uri": {
            "type": "string",
            "description": "The URI of the current page.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Recordings.json?Page=0&PageSize=1"
          }
        }
      },
      "TexmlPriceUnit": {
        "type": [
          "string",
          "null"
        ],
        "description": "The unit in which the price is given.",
        "example": "USD"
      },
      "TexmlRecordingChannels": {
        "type": "string",
        "enum": [
          "single",
          "dual"
        ],
        "description": "When `dual`, final audio file has the first leg on channel A, and the rest on channel B. `single` mixes both tracks into a single channel.",
        "example": "single",
        "default": "dual"
      },
      "TexmlRecordingDuration": {
        "type": [
          "string",
          "null"
        ],
        "description": "The duration of this recording, given in seconds.",
        "example": "12"
      },
      "TexmlRecordingMediaUrl": {
        "type": "string",
        "format": "uri",
        "example": "http://recordings.com/mp3/filename.mp3"
      },
      "TexmlRecordingPrice": {
        "type": [
          "string",
          "null"
        ],
        "description": "The price of this recording, the currency is specified in the price_unit field. ",
        "example": "0.10"
      },
      "TexmlRecordingStatus": {
        "type": "string",
        "enum": [
          "in-progress",
          "completed",
          "paused",
          "stopped"
        ],
        "example": "paused"
      },
      "TexmlRecordingSubresourcesUris": {
        "type": "object",
        "title": "Texml recording subresources uris",
        "description": "Subresources details for a recording if available.",
        "properties": {
          "transcriptions": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          }
        }
      },
      "TexmlRecordingTranscription": {
        "type": "object",
        "title": "Texml Get Call Recording Transcription Response Body",
        "properties": {
          "account_sid": {
            "$ref": "#/components/schemas/AccountSid"
          },
          "call_sid": {
            "$ref": "#/components/schemas/CallControlId"
          },
          "api_version": {
            "type": "string",
            "description": "The version of the API that was used to make the request.",
            "example": "2010-04-01"
          },
          "date_created": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "date_updated": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "duration": {
            "$ref": "#/components/schemas/TexmlRecordingDuration"
          },
          "sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "recording_sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "status": {
            "type": "string",
            "description": "The status of the recording transcriptions. The transcription text will be available only when the status is completed.",
            "enum": [
              "in-progress",
              "completed"
            ],
            "example": "completed"
          },
          "transcription_text": {
            "type": "string",
            "description": "The recording's transcribed text",
            "example": "Good morning, how may I help you?"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for the recording transcription resource.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Transcriptions/b08f0fa1-a32c-4218-b3b5-9cf78941ccac.json"
          }
        }
      },
      "TexmlSid": {
        "type": "string",
        "description": "Identifier of a resource.",
        "example": "e9cea0be-7dbd-4b98-98b1-c0089d9d43b0"
      },
      "TexmlStatusCallback": {
        "description": "Url where status callbacks will be sent.",
        "example": "http://webhook.com/callback",
        "type": "string",
        "format": "uri"
      },
      "TexmlStatusCallbackMethod": {
        "description": "HTTP method used to send status callbacks.",
        "example": "GET",
        "type": "string",
        "default": "POST",
        "enum": [
          "GET",
          "POST"
        ]
      },
      "TexmlStreamUrl": {
        "type": "string",
        "title": "Stream destination URL",
        "description": "The destination WebSocket address where the stream is going to be delivered.",
        "example": "wss://www.example.com/websocket"
      },
      "TexmlUpdateCallRecordingRequestBody": {
        "type": "object",
        "title": "Texml Create Call Recording Request Body",
        "properties": {
          "Status": {
            "type": "string",
            "enum": [
              "in-progress",
              "paused",
              "stopped"
            ],
            "example": "paused"
          }
        }
      },
      "TexmlUpdateCallStreamingRequestBody": {
        "type": "object",
        "title": "Texml Update Call Streaming Request Body",
        "properties": {
          "Status": {
            "$ref": "#/components/schemas/StreamStatus"
          }
        }
      },
      "TexmlUpdateCallStreamingResponseBody": {
        "type": "object",
        "title": "Texml Update Call Streaming Response Body",
        "properties": {
          "account_sid": {
            "$ref": "#/components/schemas/AccountSid"
          },
          "call_sid": {
            "$ref": "#/components/schemas/CallControlId"
          },
          "sid": {
            "$ref": "#/components/schemas/TexmlSid"
          },
          "status": {
            "type": "string",
            "description": "The status of the streaming.",
            "enum": [
              "stopped"
            ],
            "example": "stopped"
          },
          "date_updated": {
            "$ref": "#/components/schemas/DateTimeRFC2822"
          },
          "uri": {
            "type": "string",
            "description": "The relative URI for this streaming resource.",
            "example": "/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18a1b/Calls/v3:KBnLO0ZK3DhKM5s7bE9VluaSmKsOchKht_fUYvxcp8ysbmzCCtpkmA/Streams/b08f0fa1-a32c-4218-b3b5-9cf78941ccac.json"
          }
        }
      },
      "TexmlUpdateSiprecSessionRequestBody": {
        "type": "object",
        "title": "Update Siprec Session Request",
        "properties": {
          "Status": {
            "description": "The new status of the resource. Specifying `stopped` will end the siprec session.",
            "example": "stopped",
            "enum": [
              "stopped"
            ],
            "type": "string"
          }
        }
      },
      "TexmlUpdateSiprecSessionResponseBody": {
        "type": "object",
        "title": "Update Siprec Session Response",
        "properties": {
          "account_sid": {
            "type": "string",
            "description": "The id of the account the resource belongs to.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18a1b"
          },
          "call_sid": {
            "type": "string",
            "description": "The id of the call the resource belongs to.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ"
          },
          "sid": {
            "description": "The SID of the siprec session.",
            "example": "61bf923e-5e4d-4595-a110-56190ea18123",
            "type": "string"
          },
          "date_updated": {
            "description": "The date and time the siprec session was last updated.",
            "example": "Fri, 11 Aug 2023 19:12:11 +0000",
            "type": "string"
          },
          "status": {
            "description": "The status of the siprec session.",
            "example": "in-progress",
            "type": "string",
            "enum": [
              "in-progress",
              "stopped"
            ]
          },
          "uri": {
            "description": "The URI of the siprec session.",
            "example": "https://api.telnyx.com/v2/texml/Accounts/61bf923e-5e4d-4595-a110-56190ea18123/Calls/v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-ai/Siprec/61bf923e-5e4d-4595-a110-56190ea18123",
            "type": "string"
          },
          "error_code": {
            "description": "The error code of the siprec session.",
            "type": "string"
          }
        }
      },
      "TextClusteringResponse": {
        "properties": {
          "task_id": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "task_id"
        ],
        "title": "TextClusteringResponse"
      },
      "TextClusteringResponseData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TextClusteringResponse"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "TextClusteringResponseData"
      },
      "TnReleaseEntry": {
        "type": "object",
        "title": "TnReleaseEntry",
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "Phone number in E164 format."
          },
          "number_id": {
            "type": "string",
            "description": "Phone number ID from the Telnyx API."
          }
        }
      },
      "TnUploadEntry": {
        "type": "object",
        "title": "TnUploadEntry",
        "properties": {
          "number_id": {
            "$ref": "#/components/schemas/UUID"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number in E164 format."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending_upload",
              "pending",
              "in_progress",
              "success",
              "error"
            ],
            "description": "Represents the status of the phone number entry upload on Microsoft Teams.",
            "example": "error",
            "default": "pending_upload"
          },
          "error_code": {
            "type": "string",
            "enum": [
              "internal_error",
              "unable_to_retrieve_default_location",
              "unknown_country_code",
              "unable_to_retrieve_location",
              "unable_to_retrieve_partner_info",
              "unable_to_match_geography_entry"
            ],
            "description": "A code returned by Microsoft Teams if there is an error with the phone number entry upload.",
            "example": "internal_error"
          },
          "error_message": {
            "type": "string",
            "description": "A message returned by Microsoft Teams if there is an error with the upload process."
          },
          "civic_address_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the civic address assigned to the phone number entry."
          },
          "location_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the location assigned to the phone number entry."
          },
          "internal_status": {
            "type": "string",
            "enum": [
              "pending_assignment",
              "in_progress",
              "all_internal_jobs_completed",
              "release_requested",
              "release_completed",
              "error"
            ],
            "description": "Represents the status of the phone number entry upload on Telnyx.",
            "example": "error",
            "default": "pending_assignment"
          }
        }
      },
      "To": {
        "description": "The phone number, in E.164 format, the fax will be sent to or SIP URI",
        "type": "string",
        "example": "+13127367276"
      },
      "ToNumber": {
        "type": "string",
        "description": "Receiving address (+E.164 formatted phone number or short code).",
        "example": "+E.164",
        "x-format": "address"
      },
      "TokenRequest": {
        "type": "object",
        "properties": {
          "grant_type": {
            "type": "string",
            "enum": [
              "client_credentials",
              "authorization_code",
              "refresh_token"
            ],
            "description": "OAuth 2.0 grant type"
          },
          "scope": {
            "type": "string",
            "description": "Space-separated list of requested scopes (for client_credentials)",
            "example": "admin"
          },
          "code": {
            "type": "string",
            "description": "Authorization code (for authorization_code flow)"
          },
          "redirect_uri": {
            "type": "string",
            "format": "uri",
            "description": "Redirect URI (for authorization_code flow)"
          },
          "code_verifier": {
            "type": "string",
            "description": "PKCE code verifier (for authorization_code flow)"
          },
          "refresh_token": {
            "type": "string",
            "description": "Refresh token (for refresh_token flow)"
          },
          "client_id": {
            "type": "string",
            "description": "OAuth client ID (if not using HTTP Basic auth)"
          },
          "client_secret": {
            "type": "string",
            "description": "OAuth client secret (if not using HTTP Basic auth)"
          }
        },
        "required": [
          "grant_type"
        ]
      },
      "TokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "description": "The access token"
          },
          "token_type": {
            "type": "string",
            "enum": [
              "Bearer"
            ],
            "description": "Token type"
          },
          "expires_in": {
            "type": "integer",
            "description": "Token lifetime in seconds"
          },
          "scope": {
            "type": "string",
            "description": "Space-separated list of granted scopes"
          },
          "refresh_token": {
            "type": "string",
            "description": "Refresh token (if applicable)"
          }
        },
        "required": [
          "access_token",
          "token_type",
          "expires_in"
        ]
      },
      "ToolCall": {
        "title": "Tool Call",
        "type": "object",
        "description": "A call to a function tool created by the model.",
        "properties": {
          "id": {
            "description": "The ID of the tool call.",
            "type": "string"
          },
          "type": {
            "description": "The type of the tool. Currently, only `function` is supported.",
            "type": "string",
            "enum": [
              "function"
            ]
          },
          "function": {
            "description": "The function that the model called.",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the function to call."
              }
            },
            "required": [
              "name"
            ]
          }
        },
        "required": [
          "id",
          "type",
          "function"
        ],
        "example": {
          "id": "call_123",
          "type": "function",
          "function": {
            "name": "get_weather"
          }
        }
      },
      "ToolMessage": {
        "type": "object",
        "title": "Tool Message",
        "properties": {
          "role": {
            "description": "The role of the messages author, in this case `tool`.",
            "type": "string",
            "enum": [
              "tool"
            ]
          },
          "content": {
            "description": "The contents of the tool message.",
            "type": "string"
          },
          "tool_call_id": {
            "description": "Tool call that this message is responding to.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          }
        },
        "required": [
          "role",
          "content",
          "tool_call_id"
        ],
        "example": {
          "role": "tool",
          "content": "Hello, I'm John.",
          "tool_call_id": "call_123"
        }
      },
      "TotalSummary": {
        "type": "object",
        "properties": {
          "new_mrc": {
            "type": "string",
            "description": "Total new monthly recurring charges as decimal string",
            "example": "50.00"
          },
          "new_otc": {
            "type": "string",
            "description": "Total new one-time charges as decimal string",
            "example": "25.00"
          },
          "existing_mrc": {
            "type": "string",
            "description": "Total existing monthly recurring charges as decimal string",
            "example": "100.00"
          },
          "other": {
            "type": "string",
            "description": "Other charges as decimal string",
            "example": "10.00"
          },
          "credits": {
            "type": "string",
            "description": "Total credits as decimal string",
            "example": "-5.00"
          },
          "ledger_adjustments": {
            "type": "string",
            "description": "Ledger adjustments as decimal string",
            "example": "0.00"
          },
          "grand_total": {
            "type": "string",
            "description": "Grand total of all charges as decimal string",
            "example": "180.00"
          }
        },
        "required": [
          "new_mrc",
          "new_otc",
          "existing_mrc",
          "other",
          "credits",
          "ledger_adjustments",
          "grand_total"
        ]
      },
      "TrafficPolicyProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "readOnly": true,
            "example": "traffic_policy_profile"
          },
          "type": {
            "description": "The type of the traffic policy profile.",
            "type": "string",
            "enum": [
              "whitelist",
              "blacklist",
              "throttling"
            ],
            "example": "whitelist"
          },
          "services": {
            "description": "Array of PCEF service IDs included in the profile.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "service_123",
              "service_456"
            ]
          },
          "ip_ranges": {
            "description": "Array of IP ranges in CIDR notation.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "10.64.0.0/24",
              "10.64.0.0/25"
            ]
          },
          "domains": {
            "description": "Array of domain names.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "www.hbomax.com",
              "netflix.com"
            ]
          },
          "limit_bw_kbps": {
            "description": "Bandwidth limit in kbps.",
            "type": [
              "integer",
              "null"
            ],
            "example": 512
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "TrafficType": {
        "type": "string",
        "description": "Specifies the type of traffic allowed in this profile.",
        "enum": [
          "conversational"
        ],
        "example": "conversational",
        "default": "conversational"
      },
      "TranscriptFrame": {
        "type": "object",
        "description": "Server-to-client frame containing a transcription result.",
        "properties": {
          "type": {
            "type": "string",
            "const": "transcript",
            "description": "Frame type identifier."
          },
          "transcript": {
            "type": "string",
            "description": "The transcribed text from the audio."
          },
          "is_final": {
            "type": "boolean",
            "description": "Whether this is a final transcription result. When `false`, this is an interim result that may be refined."
          },
          "confidence": {
            "type": "number",
            "description": "Confidence score of the transcription, ranging from 0 to 1."
          }
        },
        "required": [
          "type",
          "transcript"
        ]
      },
      "Transcription": {
        "type": "object",
        "title": "Transcription",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.transcription",
            "enum": [
              "call.transcription"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "description": "Unique identifier and token for controlling the call.",
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "transcription_data": {
                "type": "object",
                "properties": {
                  "confidence": {
                    "type": "number",
                    "format": "float",
                    "example": 0.977219,
                    "description": "Speech recognition confidence level."
                  },
                  "is_final": {
                    "type": "boolean",
                    "example": true,
                    "description": "When false, it means that this is an interim result."
                  },
                  "transcript": {
                    "type": "string",
                    "example": "hello this is a test speech",
                    "description": "Recognized text."
                  },
                  "transcription_track": {
                    "type": "string",
                    "enum": [
                      "inbound",
                      "outbound"
                    ],
                    "example": "inbound",
                    "description": "Indicates which leg of the call has been transcribed. This is only available when `transcription_engine` is set to `B`."
                  }
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.transcription",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "call_control_id": "v2:7subYr8fLrXmaAXm8egeAMpoSJ72J3SGPUuome81-hQuaKRf9b7hKA",
            "call_leg_id": "5ca81340-5beb-11eb-ae45-02420a0f8b69",
            "call_session_id": "5ca81eee-5beb-11eb-ba6c-02420a0f8b69",
            "connection_id": "1240401930086254526",
            "transcription_data": {
              "confidence": 0.977219,
              "is_final": true,
              "transcript": "hello this is a test speech"
            }
          }
        }
      },
      "TranscriptionConfig": {
        "type": "object",
        "description": "The settings associated with speech to text for the voice assistant. This is only relevant if the assistant uses a text-to-text language model. Any assistant using a model with native audio support (e.g. `fixie-ai/ultravox-v0_4`) will ignore this field.",
        "properties": {
          "model": {
            "description": "The speech to text model to be used by the voice assistant. Supported models include:\n\n- `deepgram/flux` (or `flux`) for live streaming turn-taking.\n- `deepgram/nova-3` and `deepgram/nova-2` for live streaming transcription.\n- `speechmatics/standard` and `speechmatics/enhanced` for live streaming transcription.\n- `assemblyai/universal-streaming` for live streaming transcription.\n- `xai/grok-stt` for live streaming transcription.\n- `soniox/stt-rt-v4` for live streaming multilingual transcription with automatic language detection.\n- `azure/fast` and `azure/realtime`; Azure models require `region`, and unsupported regions require `api_key_ref`.\n- `google/latest_long` for non-streaming multilingual transcription.\n- `distil-whisper/distil-large-v2` for lower-latency English-only non-streaming transcription.\n- `openai/whisper-large-v3-turbo` for multilingual non-streaming transcription with automatic language detection.",
            "type": "string",
            "enum": [
              "deepgram/flux",
              "flux",
              "deepgram/nova-3",
              "deepgram/nova-2",
              "speechmatics/standard",
              "speechmatics/enhanced",
              "assemblyai/universal-streaming",
              "xai/grok-stt",
              "soniox/stt-rt-v4",
              "azure/fast",
              "azure/realtime",
              "google/latest_long",
              "distil-whisper/distil-large-v2",
              "openai/whisper-large-v3-turbo"
            ],
            "default": "distil-whisper/distil-large-v2",
            "example": "distil-whisper/distil-large-v2"
          },
          "language": {
            "type": "string",
            "description": "The language of the audio to be transcribed. If not set, or if set to `auto`, supported models will automatically detect the language. Supported and meaningful values depend on the selected transcription `model`. For `deepgram/flux`, supported values are: `auto` (Telnyx language detection controls the language hint), `multi` (no language hint), and language-specific hints `en`, `es`, `fr`, `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`. For `soniox/stt-rt-v4`, `auto` omits the language hint and lets Soniox auto-detect; ISO 639-1 codes (e.g. `en`, `es`) bias detection toward that language.",
            "default": "auto",
            "example": "auto"
          }
        }
      },
      "TranscriptionEndpointingPlan": {
        "type": "object",
        "title": "TranscriptionEndpointingPlan",
        "description": "Endpointing thresholds used to decide when the user has finished speaking. Applies to non turn-taking transcription models. For `deepgram/flux`, use `transcription.settings.eot_threshold` / `eot_timeout_ms` / `eager_eot_threshold`.",
        "properties": {
          "on_punctuation_seconds": {
            "type": "number",
            "format": "float",
            "default": 0.1,
            "description": "Seconds to wait after the transcript ends with punctuation."
          },
          "on_no_punctuation_seconds": {
            "type": "number",
            "format": "float",
            "default": 1.5,
            "description": "Seconds to wait after the transcript ends without punctuation."
          },
          "on_number_seconds": {
            "type": "number",
            "format": "float",
            "default": 0.5,
            "description": "Seconds to wait after the transcript ends with a number."
          }
        }
      },
      "TranscriptionEngineAConfig": {
        "type": "object",
        "title": "Transcription engine A config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "A"
            ],
            "description": "Engine identifier for Google transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/GoogleTranscriptionLanguage"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          },
          "enable_speaker_diarization": {
            "type": "boolean",
            "description": "Enables speaker diarization.",
            "default": false,
            "example": true
          },
          "min_speaker_count": {
            "description": "Defines minimum number of speakers in the conversation.",
            "type": "integer",
            "example": 4,
            "default": 2,
            "format": "int32"
          },
          "max_speaker_count": {
            "description": "Defines maximum number of speakers in the conversation.",
            "type": "integer",
            "example": 4,
            "default": 6,
            "format": "int32"
          },
          "profanity_filter": {
            "description": "Enables profanity_filter.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "use_enhanced": {
            "description": "Enables enhanced transcription, this works for models `phone_call` and `video`.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "latest_long",
              "latest_short",
              "command_and_search",
              "phone_call",
              "video",
              "default",
              "medical_conversation",
              "medical_dictation"
            ]
          },
          "hints": {
            "description": "Hints to improve transcription accuracy.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "example": [
              "Telnyx"
            ]
          },
          "speech_context": {
            "description": "Speech context to improve transcription accuracy.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phrases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "example": [
                    "Telnyx"
                  ]
                },
                "boost": {
                  "type": "number",
                  "description": "Boost factor for the speech context.",
                  "default": 1,
                  "minimum": 0,
                  "maximum": 20,
                  "example": 1
                }
              }
            }
          }
        }
      },
      "TranscriptionEngineAssemblyaiConfig": {
        "type": "object",
        "title": "Transcription engine AssemblyAI config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "AssemblyAI"
            ],
            "description": "Engine identifier for AssemblyAI transcription service"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "assemblyai/universal-streaming"
            ],
            "default": "assemblyai/universal-streaming"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          }
        }
      },
      "TranscriptionEngineAzureConfig": {
        "type": "object",
        "title": "Transcription engine Azure config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Azure"
            ],
            "description": "Engine identifier for Azure transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/AzureTranscriptionLanguage"
          },
          "region": {
            "$ref": "#/components/schemas/AzureTranscriptionRegion"
          },
          "api_key_ref": {
            "type": "string",
            "description": "Reference to the API key for authentication. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. The parameter is optional as defaults are available for some regions."
          }
        },
        "required": [
          "transcription_engine",
          "region"
        ]
      },
      "TranscriptionEngineBConfig": {
        "type": "object",
        "title": "Transcription engine B config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "B"
            ],
            "description": "Engine identifier for Telnyx transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/TelnyxTranscriptionLanguage"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "openai/whisper-tiny",
              "openai/whisper-large-v3-turbo"
            ],
            "default": "openai/whisper-tiny"
          }
        }
      },
      "TranscriptionEngineDeepgramConfig": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DeepgramNova2Config"
          },
          {
            "$ref": "#/components/schemas/DeepgramNova3Config"
          }
        ],
        "discriminator": {
          "propertyName": "transcription_model",
          "mapping": {
            "deepgram/nova-2": "#/components/schemas/DeepgramNova2Config",
            "deepgram/nova-3": "#/components/schemas/DeepgramNova3Config"
          }
        }
      },
      "TranscriptionEngineGoogleConfig": {
        "type": "object",
        "title": "Transcription engine Google config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Google"
            ],
            "description": "Engine identifier for Google transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/GoogleTranscriptionLanguage"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          },
          "enable_speaker_diarization": {
            "type": "boolean",
            "description": "Enables speaker diarization.",
            "default": false,
            "example": true
          },
          "min_speaker_count": {
            "description": "Defines minimum number of speakers in the conversation.",
            "type": "integer",
            "example": 4,
            "default": 2,
            "format": "int32"
          },
          "max_speaker_count": {
            "description": "Defines maximum number of speakers in the conversation.",
            "type": "integer",
            "example": 4,
            "default": 6,
            "format": "int32"
          },
          "profanity_filter": {
            "description": "Enables profanity_filter.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "use_enhanced": {
            "description": "Enables enhanced transcription, this works for models `phone_call` and `video`.",
            "type": "boolean",
            "default": false,
            "example": true
          },
          "model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "latest_long",
              "latest_short",
              "command_and_search",
              "phone_call",
              "video",
              "default",
              "medical_conversation",
              "medical_dictation"
            ]
          },
          "hints": {
            "description": "Hints to improve transcription accuracy.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "example": []
          },
          "speech_context": {
            "description": "Speech context to improve transcription accuracy.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phrases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "example": []
                },
                "boost": {
                  "type": "number",
                  "description": "Boost factor for the speech context.",
                  "default": 1,
                  "minimum": 0,
                  "maximum": 20,
                  "example": 1
                }
              }
            }
          }
        }
      },
      "TranscriptionEngineSonioxConfig": {
        "type": "object",
        "title": "Transcription engine Soniox config",
        "required": [
          "transcription_engine"
        ],
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Soniox"
            ],
            "description": "Engine identifier for Soniox transcription service"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "soniox/stt-rt-v4"
            ],
            "default": "soniox/stt-rt-v4"
          },
          "language": {
            "type": "string",
            "description": "ISO 639-1 language hint (e.g. `en`, `es`), or `auto` to omit the hint and let Soniox auto-detect supported languages multilingually.",
            "default": "auto",
            "example": "auto"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          },
          "enable_endpoint_detection": {
            "type": "boolean",
            "description": "When true, Soniox emits end-of-utterance events at the cadence configured by `max_endpoint_delay_ms`.",
            "default": false,
            "example": false
          },
          "max_endpoint_delay_ms": {
            "type": "integer",
            "minimum": 500,
            "maximum": 3000,
            "description": "Maximum silence (in milliseconds) before Soniox emits an end-of-utterance event. Only honored when `enable_endpoint_detection` is true. Range: 500-3000 ms.",
            "example": 1000
          }
        }
      },
      "TranscriptionEngineSpeechmaticsConfig": {
        "type": "object",
        "title": "Transcription engine Speechmatics config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Speechmatics"
            ],
            "description": "Engine identifier for Speechmatics transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/SpeechmaticsTranscriptionLanguage"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "speechmatics/standard"
            ],
            "default": "speechmatics/standard"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          }
        }
      },
      "TranscriptionEngineTelnyxConfig": {
        "type": "object",
        "title": "Transcription engine Telnyx config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "Telnyx"
            ],
            "description": "Engine identifier for Telnyx transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/TelnyxTranscriptionLanguage"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "openai/whisper-tiny",
              "openai/whisper-large-v3-turbo"
            ],
            "default": "openai/whisper-tiny"
          }
        }
      },
      "TranscriptionEngineXaiConfig": {
        "type": "object",
        "title": "Transcription engine xAI config",
        "properties": {
          "transcription_engine": {
            "type": "string",
            "enum": [
              "xAI"
            ],
            "description": "Engine identifier for xAI transcription service"
          },
          "language": {
            "$ref": "#/components/schemas/XaiTranscriptionLanguage"
          },
          "transcription_model": {
            "description": "The model to use for transcription.",
            "type": "string",
            "enum": [
              "xai/grok-stt"
            ],
            "default": "xai/grok-stt"
          },
          "interim_results": {
            "type": "boolean",
            "description": "Whether to send also interim results. If set to false, only final results will be sent.",
            "default": false,
            "example": true
          }
        }
      },
      "TranscriptionEvent": {
        "type": "object",
        "title": "Transcription Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Transcription"
          }
        }
      },
      "TranscriptionLanguage": {
        "title": "Transcription Language",
        "type": "string",
        "description": "Language code for transcription. Note: Not all languages are supported by all transcription engines (google, telnyx, deepgram). See engine-specific documentation for supported values.",
        "example": "en-US",
        "default": "en-US",
        "enum": [
          "af",
          "af-ZA",
          "am",
          "am-ET",
          "ar",
          "ar-AE",
          "ar-BH",
          "ar-DZ",
          "ar-EG",
          "ar-IL",
          "ar-IQ",
          "ar-JO",
          "ar-KW",
          "ar-LB",
          "ar-MA",
          "ar-MR",
          "ar-OM",
          "ar-PS",
          "ar-QA",
          "ar-SA",
          "ar-TN",
          "ar-YE",
          "as",
          "auto_detect",
          "az",
          "az-AZ",
          "ba",
          "be",
          "bg",
          "bg-BG",
          "bn",
          "bn-BD",
          "bn-IN",
          "bo",
          "br",
          "bs",
          "bs-BA",
          "ca",
          "ca-ES",
          "cs",
          "cs-CZ",
          "cy",
          "da",
          "da-DK",
          "de",
          "de-AT",
          "de-CH",
          "de-DE",
          "el",
          "el-GR",
          "en",
          "en-AU",
          "en-CA",
          "en-GB",
          "en-GH",
          "en-HK",
          "en-IE",
          "en-IN",
          "en-KE",
          "en-NG",
          "en-NZ",
          "en-PH",
          "en-PK",
          "en-SG",
          "en-TZ",
          "en-US",
          "en-ZA",
          "es",
          "es-419",
          "es-AR",
          "es-BO",
          "es-CL",
          "es-CO",
          "es-CR",
          "es-DO",
          "es-EC",
          "es-ES",
          "es-GT",
          "es-HN",
          "es-MX",
          "es-NI",
          "es-PA",
          "es-PE",
          "es-PR",
          "es-PY",
          "es-SV",
          "es-US",
          "es-UY",
          "es-VE",
          "et",
          "et-EE",
          "eu",
          "eu-ES",
          "fa",
          "fa-IR",
          "fi",
          "fi-FI",
          "fil-PH",
          "fo",
          "fr",
          "fr-BE",
          "fr-CA",
          "fr-CH",
          "fr-FR",
          "gl",
          "gl-ES",
          "gu",
          "gu-IN",
          "ha",
          "haw",
          "he",
          "hi",
          "hi-IN",
          "hr",
          "hr-HR",
          "ht",
          "hu",
          "hu-HU",
          "hy",
          "hy-AM",
          "id",
          "id-ID",
          "is",
          "is-IS",
          "it",
          "it-CH",
          "it-IT",
          "iw-IL",
          "ja",
          "ja-JP",
          "jv-ID",
          "jw",
          "ka",
          "ka-GE",
          "kk",
          "kk-KZ",
          "km",
          "km-KH",
          "kn",
          "kn-IN",
          "ko",
          "ko-KR",
          "la",
          "lb",
          "ln",
          "lo",
          "lo-LA",
          "lt",
          "lt-LT",
          "lv",
          "lv-LV",
          "mg",
          "mi",
          "mk",
          "mk-MK",
          "ml",
          "ml-IN",
          "mn",
          "mn-MN",
          "mr",
          "mr-IN",
          "ms",
          "ms-MY",
          "mt",
          "my",
          "my-MM",
          "ne",
          "ne-NP",
          "nl",
          "nl-BE",
          "nl-NL",
          "nn",
          "no",
          "no-NO",
          "oc",
          "pa",
          "pa-Guru-IN",
          "pl",
          "pl-PL",
          "ps",
          "pt",
          "pt-BR",
          "pt-PT",
          "ro",
          "ro-RO",
          "ru",
          "ru-RU",
          "rw-RW",
          "sa",
          "sd",
          "si",
          "si-LK",
          "sk",
          "sk-SK",
          "sl",
          "sl-SI",
          "sn",
          "so",
          "sq",
          "sq-AL",
          "sr",
          "sr-RS",
          "ss-latn-za",
          "st-ZA",
          "su",
          "su-ID",
          "sv",
          "sv-SE",
          "sw",
          "sw-KE",
          "sw-TZ",
          "ta",
          "ta-IN",
          "ta-LK",
          "ta-MY",
          "ta-SG",
          "te",
          "te-IN",
          "tg",
          "th",
          "th-TH",
          "tk",
          "tl",
          "tn-latn-za",
          "tr",
          "tr-TR",
          "ts-ZA",
          "tt",
          "uk",
          "uk-UA",
          "ur",
          "ur-IN",
          "ur-PK",
          "uz",
          "uz-UZ",
          "ve-ZA",
          "vi",
          "vi-VN",
          "xh-ZA",
          "yi",
          "yo",
          "yue-Hant-HK",
          "zh",
          "zh-TW",
          "zu-ZA"
        ]
      },
      "TranscriptionSettings": {
        "properties": {
          "model": {
            "type": "string",
            "enum": [
              "deepgram/flux",
              "deepgram/nova-3",
              "deepgram/nova-2",
              "azure/fast",
              "assemblyai/universal-streaming",
              "xai/grok-stt",
              "soniox/stt-rt-v4",
              "distil-whisper/distil-large-v2",
              "openai/whisper-large-v3-turbo"
            ],
            "description": "The speech to text model to be used by the voice assistant. All Deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking with multilingual language hints.\n- `deepgram/nova-3` is multilingual with automatic language detection.\n- `deepgram/nova-2` is Deepgram's previous-generation multilingual model.\n- `azure/fast` is a multilingual Azure transcription model.\n- `assemblyai/universal-streaming` is a multilingual streaming model with configurable turn detection.\n- `xai/grok-stt` is a multilingual Grok STT model.\n- `soniox/stt-rt-v4` is a multilingual streaming model with automatic language detection and configurable endpointing."
          },
          "language": {
            "type": "string",
            "description": "The language of the audio to be transcribed. If not set, or if set to `auto`, supported models will automatically detect the language. For `deepgram/flux`, supported values are: `auto` (Telnyx language detection controls the language hint), `multi` (no language hint), and language-specific hints `en`, `es`, `fr`, `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`. For `soniox/stt-rt-v4`, `auto` omits the language hint and lets Soniox auto-detect; ISO 639-1 codes (e.g. `en`, `es`) bias detection toward that language."
          },
          "api_key_ref": {
            "title": "Api Key Ref",
            "type": "string",
            "description": "Integration secret identifier for the transcription provider API key. Currently used for Azure transcription regions that require a customer-provided API key."
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Region on third party cloud providers (currently Azure) if using one of their models. Some regions require `api_key_ref`."
          },
          "settings": {
            "$ref": "#/components/schemas/TranscriptionSettingsConfig"
          }
        },
        "type": "object"
      },
      "TranscriptionSettingsConfig": {
        "properties": {
          "smart_format": {
            "title": "Smart Format",
            "type": "boolean"
          },
          "numerals": {
            "title": "Numerals",
            "type": "boolean"
          },
          "eot_threshold": {
            "title": "Eot Threshold",
            "type": "number",
            "description": "Available only for deepgram/flux. Confidence required to trigger an end of turn. Higher values = more reliable turn detection but slightly increased latency.",
            "minimum": 0.5,
            "maximum": 0.9,
            "default": 0.8
          },
          "eot_timeout_ms": {
            "title": "Eot Timeout Ms",
            "type": "integer",
            "description": "Available only for deepgram/flux. Maximum milliseconds of silence before forcing an end of turn, regardless of confidence.",
            "minimum": 500,
            "maximum": 10000,
            "default": 5000
          },
          "eager_eot_threshold": {
            "title": "Eager Eot Threshold",
            "type": "number",
            "minimum": 0.3,
            "maximum": 0.9,
            "default": 0.8,
            "description": "Available only for deepgram/flux. Confidence threshold for eager end of turn detection. Must be lower than or equal to eot_threshold. Setting this equal to eot_threshold effectively disables eager end of turn."
          },
          "keyterm": {
            "title": "Keyterm",
            "type": "string",
            "description": "Available only for deepgram/nova-3 and deepgram/flux. A comma-separated list of key terms to boost for recognition during transcription. Helps improve accuracy for domain-specific terminology, proper nouns, or uncommon words. This field may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) using mustache syntax (e.g. `Telnyx,{{customer_name}},VoIP`). Variables are resolved at call time before the value is sent to the speech-to-text engine."
          },
          "end_of_turn_confidence_threshold": {
            "title": "End Of Turn Confidence Threshold",
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "default": 0.4,
            "description": "Available only for assemblyai/universal-streaming. Confidence level required to trigger an end of turn. Higher values require more certainty before ending a turn."
          },
          "min_turn_silence": {
            "title": "Min Turn Silence",
            "type": "integer",
            "minimum": 100,
            "maximum": 5000,
            "default": 400,
            "description": "Available only for assemblyai/universal-streaming. Minimum duration of silence in milliseconds before a turn can end. Must be less than or equal to max_turn_silence."
          },
          "max_turn_silence": {
            "title": "Max Turn Silence",
            "type": "integer",
            "minimum": 100,
            "maximum": 5000,
            "default": 1280,
            "description": "Available only for assemblyai/universal-streaming. Maximum duration of silence in milliseconds before forcing an end of turn."
          },
          "interim_results": {
            "title": "Interim Results",
            "type": "boolean",
            "default": false,
            "description": "Available only for soniox/stt-rt-v4. When true, Soniox streams interim (non-final) results in addition to finalized transcripts."
          },
          "enable_endpoint_detection": {
            "title": "Enable Endpoint Detection",
            "type": "boolean",
            "default": false,
            "description": "Available only for soniox/stt-rt-v4. When true, Soniox emits end-of-utterance events at the cadence configured by `max_endpoint_delay_ms`."
          },
          "max_endpoint_delay_ms": {
            "title": "Max Endpoint Delay Ms",
            "type": "integer",
            "minimum": 500,
            "maximum": 3000,
            "description": "Available only for soniox/stt-rt-v4. Maximum silence (in milliseconds) before Soniox emits an end-of-utterance event. Only honored when `enable_endpoint_detection` is true."
          }
        },
        "type": "object",
        "title": "TranscriptionSettingsConfig"
      },
      "TranscriptionStartRequest": {
        "type": "object",
        "title": "Transcription start request",
        "properties": {
          "transcription_engine": {
            "description": "Engine to use for speech recognition. Legacy values `A` - `Google`, `B` - `Telnyx` are supported for backward compatibility.",
            "type": "string",
            "enum": [
              "Google",
              "Telnyx",
              "Deepgram",
              "Azure",
              "xAI",
              "AssemblyAI",
              "Speechmatics",
              "Soniox",
              "A",
              "B"
            ],
            "default": "Google",
            "example": "Google"
          },
          "transcription_engine_config": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TranscriptionEngineGoogleConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineTelnyxConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineDeepgramConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineAzureConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineXaiConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineAssemblyaiConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineSpeechmaticsConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineSonioxConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineAConfig"
              },
              {
                "$ref": "#/components/schemas/TranscriptionEngineBConfig"
              }
            ],
            "discriminator": {
              "propertyName": "transcription_engine",
              "mapping": {
                "Google": "#/components/schemas/TranscriptionEngineGoogleConfig",
                "Telnyx": "#/components/schemas/TranscriptionEngineTelnyxConfig",
                "Deepgram": "#/components/schemas/TranscriptionEngineDeepgramConfig",
                "Azure": "#/components/schemas/TranscriptionEngineAzureConfig",
                "xAI": "#/components/schemas/TranscriptionEngineXaiConfig",
                "AssemblyAI": "#/components/schemas/TranscriptionEngineAssemblyaiConfig",
                "Speechmatics": "#/components/schemas/TranscriptionEngineSpeechmaticsConfig",
                "Soniox": "#/components/schemas/TranscriptionEngineSonioxConfig",
                "A": "#/components/schemas/TranscriptionEngineAConfig",
                "B": "#/components/schemas/TranscriptionEngineBConfig"
              }
            }
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "transcription_tracks": {
            "description": "Indicates which leg of the call will be transcribed. Use `inbound` for the leg that requested the transcription, `outbound` for the other leg, and `both` for both legs of the call. Will default to `inbound`.",
            "type": "string",
            "example": "both",
            "default": "inbound"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "transcription_engine": "Google",
          "transcription_engine_config": {
            "transcription_engine": "Google",
            "language": "en"
          },
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "TranscriptionStopRequest": {
        "type": "object",
        "title": "Transcription stop request",
        "properties": {
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          }
        },
        "example": {
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
        }
      },
      "TransferCallRequest": {
        "type": "object",
        "title": "Transfer Call Request",
        "required": [
          "to"
        ],
        "example": {
          "to": "+18005550100 or sip:username@sip.telnyx.com;secure=srtp",
          "from": "+18005550101",
          "from_display_name": "Company Name",
          "audio_url": "http://www.example.com/sounds/greeting.wav",
          "send_digits_on_answer": "wwww200",
          "timeout_secs": 60,
          "time_limit_secs": 60,
          "webhook_url": "https://www.example.com/server-b/",
          "webhook_url_method": "POST",
          "answering_machine_detection": "detect",
          "answering_machine_detection_config": {
            "total_analysis_time_millis": 5000,
            "after_greeting_silence_millis": 1000,
            "between_words_silence_millis": 1000,
            "greeting_duration_millis": 1000,
            "initial_silence_millis": 1000,
            "maximum_number_of_words": 1000,
            "maximum_word_length_millis": 2000,
            "silence_threshold": 512,
            "greeting_total_analysis_time_millis": 50000,
            "greeting_silence_duration_millis": 2000
          },
          "custom_headers": [
            {
              "name": "head_1",
              "value": "val_1"
            },
            {
              "name": "head_2",
              "value": "val_2"
            }
          ],
          "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "early_media": true,
          "media_encryption": "SRTP",
          "sip_auth_username": "username",
          "sip_auth_password": "password",
          "sip_headers": [
            {
              "name": "User-to-User",
              "value": "value"
            }
          ],
          "sip_transport_protocol": "TLS"
        },
        "properties": {
          "to": {
            "description": "The DID or SIP URI to dial out to. For SIP URI destinations, append `;secure=true` or `;secure=srtp` to enable SRTP media encryption for that endpoint, or `;secure=dtls` to enable DTLS media encryption for that endpoint. If `media_encryption` is set to `SRTP` or `DTLS`, it takes precedence over any per-endpoint `secure` URI parameter. You may also append a comma followed by DTMF digits (e.g. `+18004247767,200`) to play those digits as DTMF once the transfer destination answers — equivalent to setting `send_digits_on_answer` separately. If both are present, the explicit `send_digits_on_answer` parameter takes precedence.",
            "type": "string",
            "example": "+18005550100 or sip:username@sip.telnyx.com;secure=srtp"
          },
          "from": {
            "description": "The `from` number to be used as the caller id presented to the destination (`to` number). The number should be in +E164 format. This attribute will default to the `to` number of the original call if omitted.",
            "type": "string",
            "example": "+18005550101"
          },
          "from_display_name": {
            "description": "The `from_display_name` string to be used as the caller id name (SIP From Display Name) presented to the destination (`to` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and -_~!.+ special characters. If ommited, the display name will be the same as the number in the `from` field.",
            "type": "string",
            "example": "Company Name"
          },
          "privacy": {
            "type": "string",
            "description": "Indicates the privacy level to be used for the call. When set to `id`, caller ID information (name and number) will be hidden from the called party. When set to `none` or omitted, caller ID will be shown normally.",
            "enum": [
              "id",
              "none"
            ],
            "example": "id"
          },
          "audio_url": {
            "type": "string",
            "example": "http://example.com/message.wav",
            "description": "The URL of a file to be played back when the transfer destination answers before bridging the call. The URL can point to either a WAV or MP3 file. media_name and audio_url cannot be used together in one request."
          },
          "send_digits_on_answer": {
            "type": "string",
            "example": "wwww200",
            "description": "DTMF digits to send automatically after the transfer destination answers. Useful for reaching an extension behind an IVR (e.g. `\"200\"` to dial extension 200 once the called party picks up). Allowed characters: `0-9`, `A-D`, `w` (0.5s pause), `W` (1s pause), `*`, `#`. Maximum 64 characters. When omitted, no automatic DTMF is sent. May also be supplied inline by appending `,<digits>` to `to` (e.g. `to=+18004247767,200`); if both forms are present, this explicit field takes precedence."
          },
          "early_media": {
            "type": "boolean",
            "default": true,
            "example": false,
            "description": "If set to false, early media will not be passed to the originating leg."
          },
          "media_name": {
            "type": "string",
            "example": "my_media_uploaded_to_media_storage_api",
            "description": "The media_name of a file to be played back when the transfer destination answers before bridging the call. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file."
          },
          "timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the call to be answered by the destination to which it is being transferred. If the timeout is reached before an answer is received, the call will hangup and a `call.hangup` webhook with a `hangup_cause` of `timeout` will be sent. Minimum value is 5 seconds. Maximum value is 600 seconds.",
            "default": 30,
            "type": "integer",
            "example": 60,
            "format": "int32"
          },
          "time_limit_secs": {
            "description": "Sets the maximum duration of a Call Control Leg in seconds. If the time limit is reached, the call will hangup and a `call.hangup` webhook with a `hangup_cause` of `time_limit` will be sent. For example, by setting a time limit of 120 seconds, a Call Leg will be automatically terminated two minutes after being answered. The default time limit is 14400 seconds or 4 hours and this is also the maximum allowed call length.",
            "default": 14400,
            "type": "integer",
            "example": 600,
            "format": "int32",
            "minimum": 30,
            "maximum": 14400
          },
          "park_after_unbridge": {
            "description": "Specifies behavior after the bridge ends (i.e. the opposite leg either hangs up or is transferred). If supplied with the value `self`, the current leg will be parked after unbridge. If not set, the default behavior is to hang up the leg.",
            "type": "string",
            "example": "self"
          },
          "answering_machine_detection": {
            "description": "Enables Answering Machine Detection. When a call is answered, Telnyx runs real-time detection to determine if it was picked up by a human or a machine and sends an `call.machine.detection.ended` webhook with the analysis result. If 'greeting_end' or 'detect_words' is used and a 'machine' is detected, you will receive another 'call.machine.greeting.ended' webhook when the answering machine greeting ends with a beep or silence. If `detect_beep` is used, you will only receive 'call.machine.greeting.ended' if a beep is detected.",
            "default": "disabled",
            "type": "string",
            "enum": [
              "premium",
              "detect",
              "detect_beep",
              "detect_words",
              "greeting_end",
              "disabled"
            ]
          },
          "answering_machine_detection_config": {
            "description": "Optional configuration parameters to modify 'answering_machine_detection' performance. Only `total_analysis_time_millis` and `greeting_duration_millis` parameters are applicable when `premium` is selected as answering_machine_detection.",
            "type": "object",
            "properties": {
              "total_analysis_time_millis": {
                "description": "Maximum timeout threshold for overall detection.",
                "default": 3500,
                "type": "integer",
                "example": 5000,
                "format": "int32"
              },
              "after_greeting_silence_millis": {
                "description": "Silence duration threshold after a greeting message or voice for it be considered human.",
                "default": 800,
                "type": "integer",
                "example": 1000,
                "format": "int32"
              },
              "between_words_silence_millis": {
                "description": "Maximum threshold for silence between words.",
                "default": 50,
                "type": "integer",
                "example": 100,
                "format": "int32"
              },
              "greeting_duration_millis": {
                "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine.",
                "default": 3500,
                "type": "integer",
                "example": 1500,
                "format": "int32"
              },
              "initial_silence_millis": {
                "description": "If initial silence duration is greater than this value, consider it a machine.",
                "default": 3500,
                "type": "integer",
                "example": 1800,
                "format": "int32"
              },
              "maximum_number_of_words": {
                "description": "If number of detected words is greater than this value, consder it a machine.",
                "default": 5,
                "type": "integer",
                "example": 3,
                "format": "int32"
              },
              "maximum_word_length_millis": {
                "description": "If a single word lasts longer than this threshold, consider it a machine.",
                "default": 3500,
                "type": "integer",
                "example": 2000,
                "format": "int32"
              },
              "silence_threshold": {
                "description": "Minimum noise threshold for any analysis.",
                "default": 256,
                "type": "integer",
                "example": 512,
                "format": "int32"
              },
              "greeting_total_analysis_time_millis": {
                "description": "If machine already detected, maximum timeout threshold to determine the end of the machine greeting.",
                "default": 5000,
                "type": "integer",
                "example": 7500,
                "format": "int32"
              },
              "greeting_silence_duration_millis": {
                "description": "If machine already detected, maximum threshold for silence between words. If exceeded, the greeting is considered ended.",
                "default": 1500,
                "type": "integer",
                "example": 2000,
                "format": "int32"
              }
            }
          },
          "custom_headers": {
            "description": "Custom headers to be added to the SIP INVITE.",
            "type": "array",
            "example": [
              {
                "name": "head_1",
                "value": "val_1"
              },
              {
                "name": "head_2",
                "value": "val_2"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/CustomSipHeader"
            }
          },
          "client_state": {
            "description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "target_leg_client_state": {
            "description": "Use this field to add state to every subsequent webhook for the new leg. It must be a valid Base-64 encoded string.",
            "type": "string",
            "example": "aGF2ZSBhIG5pY2UgZGF5ID1d"
          },
          "command_id": {
            "description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
            "type": "string",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901"
          },
          "media_encryption": {
            "description": "Defines whether media should be encrypted on the new call leg. For SIP URI destinations, media encryption can also be requested per endpoint with the `secure` URI parameter: `;secure=true` or `;secure=srtp` enables SRTP, and `;secure=dtls` enables DTLS. This parameter, when set to `SRTP` or `DTLS`, takes precedence over the per-endpoint `secure` value.",
            "default": "disabled",
            "type": "string",
            "enum": [
              "disabled",
              "SRTP",
              "DTLS"
            ]
          },
          "sip_auth_username": {
            "description": "SIP Authentication username used for SIP challenges.",
            "type": "string",
            "example": "username"
          },
          "sip_auth_password": {
            "description": "SIP Authentication password used for SIP challenges.",
            "type": "string",
            "example": "password"
          },
          "sip_headers": {
            "description": "SIP headers to be added to the SIP INVITE. Currently only User-to-User header is supported.",
            "type": "array",
            "example": [
              {
                "name": "User-to-User",
                "value": "value"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/SipHeader"
            }
          },
          "sip_transport_protocol": {
            "description": "Defines SIP transport protocol to be used on the call.",
            "default": "UDP",
            "type": "string",
            "enum": [
              "UDP",
              "TCP",
              "TLS"
            ]
          },
          "sound_modifications": {
            "$ref": "#/components/schemas/SoundModifications"
          },
          "webhook_url": {
            "description": "Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.",
            "type": "string",
            "example": "https://www.example.com/server-b/"
          },
          "webhook_url_method": {
            "description": "HTTP request type used for `webhook_url`.",
            "default": "POST",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "example": "GET"
          },
          "mute_dtmf": {
            "description": "When enabled, DTMF tones are not passed to the call participant. The webhooks containing the DTMF information will be sent.",
            "type": "string",
            "enum": [
              "none",
              "both",
              "self",
              "opposite"
            ],
            "default": "none",
            "example": "opposite"
          },
          "record": {
            "description": "Start recording automatically after an event. Disabled by default.",
            "type": "string",
            "enum": [
              "record-from-answer"
            ],
            "example": "record-from-answer"
          },
          "record_channels": {
            "description": "Defines which channel should be recorded ('single' or 'dual') when `record` is specified.",
            "type": "string",
            "enum": [
              "single",
              "dual"
            ],
            "default": "dual",
            "example": "single"
          },
          "record_format": {
            "description": "Defines the format of the recording ('wav' or 'mp3') when `record` is specified.",
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "default": "mp3",
            "example": "wav"
          },
          "record_max_length": {
            "description": "Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 1000
          },
          "record_timeout_secs": {
            "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).",
            "type": "integer",
            "format": "int32",
            "default": 0,
            "example": 100
          },
          "record_track": {
            "description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
            "type": "string",
            "example": "outbound",
            "default": "both",
            "enum": [
              "both",
              "inbound",
              "outbound"
            ]
          },
          "record_trim": {
            "description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
            "enum": [
              "trim-silence"
            ],
            "type": "string",
            "example": "trim-silence"
          },
          "record_custom_file_name": {
            "description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "example": "my_recording_file_name"
          },
          "sip_region": {
            "description": "Defines the SIP region to be used for the call.",
            "type": "string",
            "default": "US",
            "enum": [
              "US",
              "Europe",
              "Canada",
              "Australia",
              "Middle East"
            ],
            "example": "Canada"
          },
          "preferred_codecs": {
            "description": "The list of comma-separated codecs in order of preference to be used during the call. The codecs supported are `G722`, `PCMU`, `PCMA`, `G729`, `OPUS`, `VP8`, `H264`, `AMR-WB`.",
            "type": "string",
            "example": "G722,PCMU,PCMA,G729,OPUS,VP8,H264"
          },
          "webhook_urls": {
            "description": "A map of event types to webhook URLs. When an event of the specified type occurs, the webhook URL associated with that event type will be called instead of `webhook_url`. Events not mapped here will use the default `webhook_url`.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "uri"
            },
            "example": {
              "call.answered": "https://www.example.com/webhooks/answered",
              "call.hangup": "https://www.example.com/webhooks/hangup"
            }
          },
          "webhook_urls_method": {
            "description": "HTTP request method to invoke `webhook_urls`.",
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "default": "POST",
            "example": "POST"
          },
          "webhook_retries_policies": {
            "description": "A map of event types to retry policies. Each retry policy contains an array of `retries_ms` specifying the delays between retry attempts in milliseconds. Maximum 5 retries, total delay cannot exceed 60 seconds.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "retries_ms": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "maxItems": 5,
                  "description": "Array of delays in milliseconds between retry attempts. Total sum cannot exceed 60000ms."
                }
              }
            },
            "example": {
              "call.answered": {
                "retries_ms": [
                  1000,
                  2000,
                  5000
                ]
              }
            }
          }
        }
      },
      "TransferTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "transfer"
            ]
          },
          "transfer": {
            "$ref": "#/components/schemas/CallControlTransferToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "transfer"
        ],
        "title": "TransferTool"
      },
      "TriggerBrandSmsOtpRequest": {
        "title": "TriggerBrandSmsOtpRequest",
        "required": [
          "pinSms",
          "successSms"
        ],
        "type": "object",
        "properties": {
          "pinSms": {
            "title": "Pinsms",
            "type": "string",
            "description": "SMS message template to send the OTP. Must include `@OTP_PIN@` placeholder which will be replaced with the actual PIN",
            "example": "Your PIN is @OTP_PIN@"
          },
          "successSms": {
            "title": "Successsms",
            "type": "string",
            "description": "SMS message to send upon successful OTP verification",
            "example": "Verification successful!"
          }
        },
        "description": "Request body for triggering a Brand SMS OTP"
      },
      "TriggerBrandSmsOtpResponse": {
        "title": "TriggerBrandSmsOtpResponse",
        "required": [
          "brandId",
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "brandId": {
            "title": "Brandid",
            "type": "string",
            "description": "The Brand ID for which the OTP was triggered",
            "example": "4b20019b-043a-78f8-0657-b3be3f4b4002"
          },
          "referenceId": {
            "title": "Referenceid",
            "type": "string",
            "description": "The reference ID that can be used to check OTP status",
            "example": "OTP4B2001"
          }
        },
        "description": "Response after successfully triggering a Brand SMS OTP"
      },
      "TriggerTestRunRequest": {
        "properties": {
          "destination_version_id": {
            "type": "string",
            "title": "Destination Version Id",
            "description": "Optional assistant version ID to use for this test run. If provided, the version must exist or a 400 error will be returned. If not provided, test will run on main version",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          }
        },
        "type": "object",
        "title": "TriggerTestRunRequest",
        "description": "Request model for triggering a single test run.\n\nOptional request body for the trigger test run endpoint."
      },
      "TriggerTestSuiteRunsRequest": {
        "properties": {
          "destination_version_id": {
            "type": "string",
            "title": "Destination Version Id",
            "description": "Optional assistant version ID to use for all test runs in this suite. If provided, the version must exist or a 400 error will be returned. If not provided, test will run on main version",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          }
        },
        "type": "object",
        "title": "TriggerTestSuiteRunsRequest",
        "description": "Request model for triggering test suite runs.\n\nOptional request body for the trigger test suite runs endpoint."
      },
      "TtsServerEvent": {
        "description": "Union of all server-to-client WebSocket events for TTS streaming.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/AudioChunkFrame"
          },
          {
            "$ref": "#/components/schemas/FinalFrame"
          },
          {
            "$ref": "#/components/schemas/ErrorFrame"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "audio_chunk": "#/components/schemas/AudioChunkFrame",
            "final": "#/components/schemas/FinalFrame",
            "error": "#/components/schemas/ErrorFrame"
          }
        }
      },
      "TwimlRecordingChannels": {
        "type": "integer",
        "enum": [
          1,
          2
        ],
        "default": 2,
        "example": 1
      },
      "UUID": {
        "title": "UUID",
        "type": "string",
        "format": "uuid",
        "description": "Uniquely identifies the resource.",
        "example": "542c3bca-d247-42bc-8fe7-e01d16ecd761"
      },
      "UacConnection": {
        "type": "object",
        "title": "UAC Connection",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "example": "1293384261075731499",
            "x-format": "int64"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "uac_connection"
          },
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters). At least one of the first 5 characters must be a letter.",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "created_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO-8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "example": "disabled",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/UacInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/UacOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          },
          "authentication": {
            "type": "string",
            "description": "The authentication strategy used by this connection.",
            "enum": [
              "uac-authentication"
            ],
            "example": "uac-authentication"
          },
          "registration_status": {
            "type": [
              "string",
              "null"
            ],
            "description": "The most recently known SIP registration status for this UAC connection.",
            "example": "Registered"
          },
          "registration_status_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO 8601 formatted date indicating when the registration status was last updated.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "fqdn": {
            "type": "string",
            "description": "The Telnyx-managed FQDN generated for the UAC connection.",
            "example": "abc123def456.uac.telnyx.com"
          },
          "fqdns": {
            "type": "array",
            "description": "FQDN records managed automatically by the UAC connection lifecycle.",
            "items": {
              "$ref": "#/components/schemas/Fqdn"
            }
          },
          "fqdn_outbound_authentication": {
            "type": "string",
            "description": "The fixed outbound authentication mode used by UAC FQDN records.",
            "enum": [
              "credential-authentication"
            ],
            "example": "credential-authentication"
          },
          "internal_uac_settings": {
            "$ref": "#/components/schemas/UacInternalSettings"
          },
          "external_uac_settings": {
            "$ref": "#/components/schemas/UacExternalSettings"
          }
        },
        "example": {
          "id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "record_type": "uac_connection",
          "active": true,
          "user_name": "myusername123",
          "password": "my123secure456password789",
          "created_at": "2018-02-02T22:25:27.521Z",
          "updated_at": "2018-02-02T22:25:27.521Z",
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "call_cost_in_webhooks": false,
          "webhook_timeout_secs": 25,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtp+1",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 15,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "enabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "string",
            "ani_override_type": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "string",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          },
          "authentication": "uac-authentication",
          "registration_status": "Registered",
          "registration_status_updated_at": "2018-02-02T22:25:27.521Z",
          "fqdn": "abc123def456.uac.telnyx.com",
          "fqdns": [
            {
              "id": "1293384261075731499",
              "record_type": "fqdn",
              "connection_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
              "fqdn": "abc123def456.uac.telnyx.com",
              "port": 5060,
              "dns_record_type": "srv",
              "created_at": "2018-02-02T22:25:27.521Z",
              "updated_at": "2018-02-02T22:25:27.521Z"
            }
          ],
          "fqdn_outbound_authentication": "credential-authentication",
          "internal_uac_settings": {
            "destination_uri": "14155550123@acme.sip.telnyx.com"
          },
          "external_uac_settings": {
            "username": "ext8492",
            "password": "testtesttest",
            "proxy": "sip-pbx.acme.example",
            "auth_username": "auth8492",
            "from_user": "8492",
            "outbound_proxy": "outbound.sip-pbx.acme.example:5061",
            "expiration_sec": 600,
            "transport": "TLS"
          }
        },
        "description": "A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration."
      },
      "UacExternalSettings": {
        "type": "object",
        "title": "UAC External Settings",
        "description": "External SIP peer settings used by Telnyx when registering to your PBX and routing outbound calls.",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 4,
            "maxLength": 32,
            "description": "The SIP username used to authenticate with the external SIP peer for registrations and outbound calls. Must start with a letter or number and contain only letters, numbers, hyphens, and underscores.",
            "example": "ext8492"
          },
          "password": {
            "type": "string",
            "description": "The SIP password used for digest authentication with the external SIP peer.",
            "example": "testtesttest"
          },
          "proxy": {
            "type": "string",
            "description": "The SIP proxy address of the external SIP peer used for registrations and outbound call routing.",
            "example": "sip-pbx.acme.example"
          },
          "auth_username": {
            "type": [
              "string",
              "null"
            ],
            "description": "The authentication username used in SIP digest authentication. If not set, the Username value will be used.",
            "example": "auth8492"
          },
          "from_user": {
            "type": [
              "string",
              "null"
            ],
            "description": "The user portion of the SIP From header used in outbound requests. This controls the caller identity presented to the external SIP peer.",
            "example": "8492"
          },
          "outbound_proxy": {
            "type": [
              "string",
              "null"
            ],
            "description": "An optional SIP proxy used to route outbound requests before reaching the external SIP peer.",
            "example": "outbound.sip-pbx.acme.example:5061"
          },
          "expiration_sec": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "description": "The registration interval, in seconds, indicating how often the system refreshes the SIP registration with the external SIP peer.",
            "example": 600
          },
          "transport": {
            "type": [
              "string",
              "null"
            ],
            "description": "The transport protocol used for SIP signaling when communicating with the external SIP peer. One of UDP, TLS, or TCP.",
            "enum": [
              "UDP",
              "TLS",
              "TCP",
              null
            ],
            "example": "TLS"
          }
        },
        "example": {
          "username": "ext8492",
          "password": "testtesttest",
          "proxy": "sip-pbx.acme.example",
          "auth_username": "auth8492",
          "from_user": "8492",
          "outbound_proxy": "outbound.sip-pbx.acme.example:5061",
          "expiration_sec": 600,
          "transport": "TLS"
        }
      },
      "UacInbound": {
        "type": "object",
        "title": "UAC Inbound",
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_routing_method": "sequential",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true,
          "simultaneous_ringing": "enabled",
          "sip_subdomain": "abc123def456",
          "sip_subdomain_receive_settings": "only_my_connections"
        },
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_routing_method": {
            "type": "string",
            "enum": [
              "sequential",
              "round-robin"
            ],
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed."
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "minimum": 1,
            "maximum": 600,
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          },
          "simultaneous_ringing": {
            "type": "string",
            "description": "When enabled, allows multiple devices to ring simultaneously on incoming calls.",
            "default": "disabled",
            "enum": [
              "disabled",
              "enabled"
            ]
          },
          "sip_subdomain": {
            "type": "string",
            "description": "The Telnyx-generated SIP subdomain for this UAC connection.",
            "example": "abc123def456"
          },
          "sip_subdomain_receive_settings": {
            "type": "string",
            "description": "Controls which SIP URI callers may reach this connection.",
            "enum": [
              "only_my_connections",
              "from_anyone"
            ],
            "example": "only_my_connections"
          }
        }
      },
      "UacInboundRequest": {
        "type": "object",
        "title": "UAC Inbound Request",
        "description": "Inbound settings that can be supplied when creating or updating a UAC connection. The SIP subdomain fields returned in UAC connection responses are generated by Telnyx and are not accepted as request parameters.",
        "example": {
          "ani_number_format": "+E.164",
          "dnis_number_format": "+e164",
          "codecs": [
            "G722"
          ],
          "default_routing_method": "sequential",
          "channel_limit": 10,
          "generate_ringback_tone": true,
          "isup_headers_enabled": true,
          "prack_enabled": true,
          "sip_compact_headers_enabled": true,
          "timeout_1xx_secs": 10,
          "timeout_2xx_secs": 20,
          "shaken_stir_enabled": true,
          "simultaneous_ringing": "enabled"
        },
        "properties": {
          "ani_number_format": {
            "type": "string",
            "enum": [
              "+E.164",
              "E.164",
              "+E.164-national",
              "E.164-national"
            ],
            "default": "E.164-national",
            "description": "This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls."
          },
          "dnis_number_format": {
            "type": "string",
            "enum": [
              "+e164",
              "e164",
              "national",
              "sip_username"
            ],
            "default": "e164"
          },
          "codecs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.",
            "default": [
              "G722",
              "G711U",
              "G711A",
              "G729",
              "OPUS",
              "H.264"
            ]
          },
          "default_routing_method": {
            "type": "string",
            "enum": [
              "sequential",
              "round-robin"
            ],
            "description": "Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed."
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "isup_headers_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)"
          },
          "prack_enabled": {
            "type": "boolean",
            "description": "Enable PRACK messages as defined in RFC3262.",
            "default": false
          },
          "sip_compact_headers_enabled": {
            "type": "boolean",
            "description": "Defaults to true.",
            "default": true
          },
          "timeout_1xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if connection is not made.",
            "minimum": 1,
            "maximum": 120,
            "default": 3
          },
          "timeout_2xx_secs": {
            "type": "integer",
            "description": "Time(sec) before aborting if call is unanswered (min: 1, max: 600).",
            "minimum": 1,
            "maximum": 600,
            "default": 90
          },
          "shaken_stir_enabled": {
            "type": "boolean",
            "description": "When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.",
            "default": false
          },
          "simultaneous_ringing": {
            "type": "string",
            "description": "When enabled, allows multiple devices to ring simultaneously on incoming calls.",
            "default": "disabled",
            "enum": [
              "disabled",
              "enabled"
            ]
          }
        }
      },
      "UacInternalSettings": {
        "type": "object",
        "title": "UAC Internal Settings",
        "description": "Internal Telnyx-side settings for a UAC connection.",
        "properties": {
          "destination_uri": {
            "type": "string",
            "description": "The SIP URI that Telnyx will call when handling an inbound request from the external peer. Do not include a `sip:` prefix. The value must be in the format `userinfo@<subdomain.>sip.telnyx.com` or `userinfo@<subdomain.>sipdev.telnyx.com`; the userinfo portion may contain only letters, digits, hyphens, and underscores.",
            "example": "14155550123@acme.sip.telnyx.com"
          }
        },
        "example": {
          "destination_uri": "14155550123@acme.sip.telnyx.com"
        }
      },
      "UacOutbound": {
        "type": "object",
        "title": "UAC Outbound",
        "example": {
          "call_parking_enabled": true,
          "ani_override": "always",
          "channel_limit": 10,
          "instant_ringback_enabled": true,
          "generate_ringback_tone": true,
          "localization": "US",
          "t38_reinvite_source": "customer",
          "outbound_voice_profile_id": "1293384261075731499"
        },
        "properties": {
          "call_parking_enabled": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Forces all SIP calls originated on this connection to be \"parked\" instead of \"bridged\" to the destination specified on the URI. Parked calls will return ringback to the caller and will await for a Call Control command to define which action will be taken next."
          },
          "ani_override": {
            "type": "string",
            "description": "Set a phone number as the ani_override value to override caller id number on outbound calls.",
            "default": ""
          },
          "ani_override_type": {
            "type": "string",
            "enum": [
              "always",
              "normal",
              "emergency"
            ],
            "description": "Specifies when we apply your ani_override setting. Only applies when ani_override is not blank.",
            "default": "always"
          },
          "channel_limit": {
            "type": "integer",
            "default": null,
            "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection."
          },
          "instant_ringback_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When set, ringback will not wait for indication before sending ringback tone to calling party."
          },
          "generate_ringback_tone": {
            "type": "boolean",
            "default": false,
            "description": "Generate ringback tone through 183 session progress message with early media."
          },
          "localization": {
            "type": "string",
            "default": "US",
            "description": "A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default.",
            "example": "US"
          },
          "t38_reinvite_source": {
            "type": "string",
            "enum": [
              "telnyx",
              "customer",
              "disabled",
              "passthru",
              "caller-passthru",
              "callee-passthru"
            ],
            "description": "This setting only affects connections with Fax-type Outbound Voice Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.",
            "default": "telnyx"
          },
          "outbound_voice_profile_id": {
            "$ref": "#/components/schemas/connections_OutboundVoiceProfileId"
          }
        }
      },
      "UnauthorizedError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericError"
          },
          {
            "properties": {
              "code": {
                "example": "10009",
                "type": "string"
              },
              "title": {
                "example": "Authentication failed",
                "type": "string"
              },
              "detail": {
                "example": "The required authentication headers were either invalid or not included in the request.",
                "type": "string"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://developers.telnyx.com/docs/overview/errors/10009"
                  }
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "UnexpectedError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericError"
          },
          {
            "properties": {
              "code": {
                "example": "10007",
                "type": "string"
              },
              "title": {
                "example": "Unexpected error",
                "type": "string"
              },
              "detail": {
                "example": "An unexpected error occurred.",
                "type": "string"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://developers.telnyx.com/docs/overview/errors/10007"
                  }
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "UnprocessableEntityError": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "x-format": "int64"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "UnusedUserBundlesResponse": {
        "title": "UnusedUserBundlesResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnusedUserBundlesSchema"
            }
          }
        }
      },
      "UnusedUserBundlesSchema": {
        "title": "UnusedUserBundlesSchema",
        "required": [
          "billing_bundle",
          "user_bundle_ids"
        ],
        "type": "object",
        "properties": {
          "billing_bundle": {
            "$ref": "#/components/schemas/BillingBundleSummary"
          },
          "user_bundle_ids": {
            "title": "User Bundle Ids",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of user bundle IDs for given bundle.",
            "example": [
              "1e650b96-4c6a-4d6f-b8ed-87c3fcacf595",
              "53beb701-1231-4548-8abf-c802f38b14aa"
            ]
          }
        }
      },
      "UpdateAssistantRequest": {
        "properties": {
          "name": {
            "type": "string"
          },
          "model": {
            "type": "string",
            "description": "ID of the model to use when `external_llm` is not set. You can use the [Get models API](https://developers.telnyx.com/api-reference/openai-chat/get-available-models-openai-compatible) to see available models. If `external_llm` is provided, the assistant uses `external_llm` instead of this field. If neither `model` nor `external_llm` is provided, Telnyx applies the default model."
          },
          "instructions": {
            "type": "string",
            "description": "System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)"
          },
          "tools": {
            "$ref": "#/components/schemas/AssistantTools",
            "description": "Deprecated for new integrations. Inline tool definitions available to the assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools endpoints."
          },
          "mcp_servers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantMCPServer"
            },
            "default": [],
            "description": "MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`, then reference them by `id` here."
          },
          "tool_ids": {
            "title": "Ids of shared tools",
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "IDs of shared tools to attach to the assistant. New integrations should prefer `tool_ids` over inline `tools`."
          },
          "description": {
            "type": "string"
          },
          "greeting": {
            "type": "string",
            "description": "Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "This is only needed when using third-party inference providers selected by `model`. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. For bring-your-own endpoint authentication, use `external_llm.llm_api_key_ref` instead. Warning: Free plans are unlikely to work with this integration."
          },
          "external_llm": {
            "$ref": "#/components/schemas/ExternalLLMReq"
          },
          "fallback_config": {
            "$ref": "#/components/schemas/FallbackConfigReq"
          },
          "voice_settings": {
            "$ref": "#/components/schemas/VoiceSettings"
          },
          "transcription": {
            "$ref": "#/components/schemas/TranscriptionSettings"
          },
          "telephony_settings": {
            "$ref": "#/components/schemas/TelephonySettings"
          },
          "messaging_settings": {
            "$ref": "#/components/schemas/MessagingSettings"
          },
          "enabled_features": {
            "items": {
              "$ref": "#/components/schemas/EnabledFeatures"
            },
            "type": "array",
            "uniqueItems": true
          },
          "insight_settings": {
            "$ref": "#/components/schemas/InsightSettings"
          },
          "privacy_settings": {
            "$ref": "#/components/schemas/PrivacySettings"
          },
          "dynamic_variables_webhook_url": {
            "type": "string",
            "description": "If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this URL at the start of the conversation to resolve dynamic variables. **Gotcha:** the webhook response must wrap variables under a top-level `dynamic_variables` object, e.g. `{\"dynamic_variables\": {\"customer_name\": \"Jane\"}}`. Returning a flat object will be ignored and variables will fall back to their defaults. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for the full request/response format and timeout behavior."
          },
          "dynamic_variables_webhook_timeout_ms": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 1500,
            "description": "Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and 10000 ms. If the webhook does not respond within this timeout, the call proceeds with default values. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)."
          },
          "dynamic_variables": {
            "type": "object",
            "description": "Map of dynamic variables and their default values",
            "additionalProperties": true
          },
          "widget_settings": {
            "$ref": "#/components/schemas/WidgetSettings"
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/inference-embedding_InterruptionSettings"
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantIntegration"
            },
            "default": [],
            "description": "Connected integrations attached to the assistant. The catalog of available integrations is at `/ai/integrations`; the user's connected integrations are at `/ai/integrations/connections`. Each item references a catalog integration by `integration_id`."
          },
          "observability_settings": {
            "$ref": "#/components/schemas/ObservabilityReq"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Tags associated with the assistant. Tags can also be managed with the assistant tag endpoints."
          },
          "version_name": {
            "type": "string",
            "maxLength": 50,
            "default": "New assistant",
            "description": "Human-readable name for the assistant version."
          },
          "post_conversation_settings": {
            "$ref": "#/components/schemas/PostConversationSettingsReq"
          }
        },
        "type": "object",
        "title": "UpdateAssistantRequest"
      },
      "UpdateAssistantRequestWithPromotion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateAssistantRequest"
          },
          {
            "properties": {
              "promote_to_main": {
                "type": "boolean",
                "default": true,
                "description": "Indicates whether the assistant should be promoted to the main version. Defaults to true."
              }
            },
            "type": "object"
          }
        ]
      },
      "UpdateAssistantTestRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "Updated name for the assistant test. Must be unique and descriptive."
          },
          "description": {
            "type": "string",
            "maxLength": 1000,
            "title": "Description",
            "description": "Updated description of the test's purpose and evaluation criteria."
          },
          "telnyx_conversation_channel": {
            "$ref": "#/components/schemas/TelnyxConversationChannel",
            "description": "Updated communication channel for the test execution."
          },
          "destination": {
            "type": "string",
            "minLength": 1,
            "title": "Destination",
            "description": "Updated target destination for test conversations."
          },
          "max_duration_seconds": {
            "type": "integer",
            "maximum": 3600,
            "minimum": 1,
            "title": "Max Duration Seconds",
            "description": "Updated maximum test duration in seconds."
          },
          "test_suite": {
            "type": "string",
            "maxLength": 100,
            "title": "Test Suite",
            "description": "Updated test suite assignment for better organization."
          },
          "instructions": {
            "type": "string",
            "maxLength": 5000,
            "minLength": 1,
            "title": "Instructions",
            "description": "Updated test scenario instructions and objectives."
          },
          "rubric": {
            "items": {
              "type": "object",
              "required": [
                "name",
                "criteria"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Label for the evaluation criterion, e.g., Empathy, Accuracy, Clarity."
                },
                "criteria": {
                  "type": "string",
                  "description": "Specific guidance on how to assess the assistant’s performance for this rubric item."
                }
              },
              "additionalProperties": false
            },
            "type": "array",
            "minItems": 1,
            "title": "Rubric",
            "description": "Updated evaluation criteria for assessing assistant performance."
          }
        },
        "type": "object",
        "title": "UpdateAssistantTestRequest",
        "description": "Request model for updating an existing assistant test.\n\nAll fields are optional, allowing partial updates of test configuration.\nOnly provided fields will be updated, others remain unchanged."
      },
      "UpdateAuthenticationProviderRequest": {
        "type": "object",
        "title": "Update Authentication Provider Request",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/name"
          },
          "short_name": {
            "$ref": "#/components/schemas/short_name"
          },
          "active": {
            "$ref": "#/components/schemas/active"
          },
          "settings": {
            "$ref": "#/components/schemas/settings"
          },
          "settings_url": {
            "$ref": "#/components/schemas/settings_url"
          }
        },
        "example": {
          "name": "Okta",
          "short_name": "myorg",
          "active": true,
          "settings": {
            "idp_entity_id": "https://myorg.myidp.com/saml/metadata",
            "idp_sso_target_url": "https://myorg.myidp.com/trust/saml2/http-post/sso",
            "idp_cert_fingerprint": "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7",
            "idp_cert_fingerprint_algorithm": "sha1"
          }
        }
      },
      "UpdateBillingGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A name for the billing group"
          }
        },
        "example": {
          "name": "string"
        }
      },
      "UpdateBrand": {
        "title": "UpdateBrand",
        "required": [
          "entityType",
          "displayName",
          "country",
          "email",
          "vertical"
        ],
        "type": "object",
        "properties": {
          "entityType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EntityType"
              }
            ],
            "description": "Entity type behind the brand. This is the form of business establishment."
          },
          "displayName": {
            "title": "Displayname",
            "maxLength": 100,
            "type": "string",
            "description": "Display or marketing name of the brand.",
            "example": "ABC Mobile"
          },
          "companyName": {
            "title": "Companyname",
            "maxLength": 100,
            "type": "string",
            "description": "(Required for Non-profit/private/public) Legal company name.",
            "example": "ABC Inc."
          },
          "firstName": {
            "title": "Firstname",
            "maxLength": 100,
            "type": "string",
            "description": "First name of business contact.",
            "example": "John"
          },
          "lastName": {
            "title": "Lastname",
            "maxLength": 100,
            "type": "string",
            "description": "Last name of business contact.",
            "example": "Smith"
          },
          "ein": {
            "title": "Ein",
            "maxLength": 20,
            "type": "string",
            "description": "(Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S.",
            "example": "111111111"
          },
          "phone": {
            "title": "Phone",
            "maxLength": 20,
            "type": "string",
            "description": "Valid phone number in e.164 international format.",
            "example": "+12024567890"
          },
          "street": {
            "title": "Street",
            "maxLength": 100,
            "type": "string",
            "description": "Street number and name.",
            "example": "123"
          },
          "city": {
            "title": "City",
            "maxLength": 100,
            "type": "string",
            "description": "City name",
            "example": "New York"
          },
          "state": {
            "title": "State",
            "maxLength": 20,
            "type": "string",
            "description": "State. Must be 2 letters code for United States.",
            "example": "NY"
          },
          "postalCode": {
            "title": "Postalcode",
            "maxLength": 10,
            "type": "string",
            "description": "Postal codes. Use 5 digit zipcode for United States",
            "example": "10001"
          },
          "country": {
            "title": "Country",
            "maxLength": 2,
            "type": "string",
            "description": "ISO2 2 characters country code. Example: US - United States",
            "example": "US"
          },
          "email": {
            "title": "Email",
            "maxLength": 100,
            "type": "string",
            "description": "Valid email address of brand support contact."
          },
          "stockSymbol": {
            "title": "Stocksymbol",
            "maxLength": 10,
            "type": "string",
            "description": "(Required for public company) stock symbol.",
            "example": "ABC"
          },
          "stockExchange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StockExchange"
              }
            ],
            "description": "(Required for public company) stock exchange.",
            "example": "NASDAQ"
          },
          "ipAddress": {
            "title": "Ipaddress",
            "maxLength": 50,
            "type": "string",
            "description": "IP address of the browser requesting to create brand identity."
          },
          "website": {
            "title": "Website",
            "maxLength": 100,
            "type": "string",
            "description": "Brand website URL.",
            "example": "http://www.abcmobile.com"
          },
          "vertical": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Vertical"
              }
            ],
            "description": "Vertical or industry segment of the brand."
          },
          "altBusinessIdType": {
            "$ref": "#/components/schemas/AltBusinessIdType"
          },
          "isReseller": {
            "title": "Isreseller",
            "type": "boolean"
          },
          "identityStatus": {
            "$ref": "#/components/schemas/BrandIdentityStatus"
          },
          "businessContactEmail": {
            "title": "BusinessContactEmail",
            "type": "string",
            "description": "Business contact email.\n\nRequired if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is recommended to either omit this field or set it to `null`.",
            "example": "name@example.com"
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook URL for brand status updates.",
            "example": "https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93"
          },
          "webhookFailoverURL": {
            "title": "WebhookFailoverURL",
            "type": "string",
            "description": "Webhook failover URL for brand status updates.",
            "example": "https://webhook.com/9010a453-4df8-4be6-a551-1070892888d6"
          },
          "altBusinessId": {
            "title": "Altbusiness Id",
            "maxLength": 50,
            "type": "string",
            "description": "Alternate business identifier such as DUNS, LEI, or GIIN"
          }
        }
      },
      "UpdateCallControlApplicationRequest": {
        "type": "object",
        "title": "Update Call Control Application Request",
        "required": [
          "application_name",
          "webhook_event_url"
        ],
        "properties": {
          "application_name": {
            "type": "string",
            "description": "A user-assigned name to help manage the application.",
            "example": "call-router"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "url",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this Call Control Application.",
            "default": false
          },
          "active": {
            "type": "boolean",
            "description": "Specifies whether the connection can be used.",
            "default": true
          },
          "anchorsite_override": {
            "type": "string",
            "description": "<code>Latency</code> directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.\n",
            "enum": [
              "Latency",
              "Chicago, IL",
              "Ashburn, VA",
              "San Jose, CA",
              "London, UK",
              "Chennai, IN",
              "Amsterdam, Netherlands",
              "Toronto, Canada",
              "Sydney, Australia"
            ],
            "example": "Amsterdam, Netherlands",
            "default": "Latency"
          },
          "dtmf_type": {
            "type": "string",
            "description": "Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.",
            "enum": [
              "RFC 2833",
              "Inband",
              "SIP INFO"
            ],
            "example": "Inband",
            "default": "RFC 2833"
          },
          "first_command_timeout": {
            "type": "boolean",
            "description": "Specifies whether calls to phone numbers associated with this connection should hangup after timing out.",
            "example": true,
            "default": false
          },
          "first_command_timeout_secs": {
            "type": "integer",
            "description": "Specifies how many seconds to wait before timing out a dial command.",
            "example": 10,
            "default": 30
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to the Call Control Application.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "inbound": {
            "$ref": "#/components/schemas/CallControlApplicationInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CallControlApplicationOutbound"
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "url",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "redact_dtmf_debug_logging": {
            "type": "boolean",
            "description": "When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions.",
            "example": true,
            "default": false
          }
        },
        "example": {
          "application_name": "call-router",
          "webhook_event_url": "https://example.com",
          "active": false,
          "anchorsite_override": "Latency",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "webhook_api_version": "1",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": true,
          "redact_dtmf_debug_logging": true
        }
      },
      "UpdateCallRequest": {
        "type": "object",
        "title": "Update Call Request",
        "properties": {
          "Status": {
            "description": "The value to set the call status to. Setting the status to completed ends the call.",
            "example": "completed",
            "type": "string"
          },
          "Url": {
            "description": "The URL where TeXML will make a request to retrieve a new set of TeXML instructions to continue the call flow.",
            "example": "https://www.example.com/intruction-b.xml",
            "type": "string"
          },
          "Method": {
            "description": "HTTP request type used for `Url`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "FallbackUrl": {
            "description": "A failover URL for which Telnyx will retrieve the TeXML call instructions if the Url is not responding.",
            "example": "https://www.example.com/intruction-c.xml",
            "type": "string"
          },
          "FallbackMethod": {
            "description": "HTTP request type used for `FallbackUrl`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "StatusCallback": {
            "description": "URL destination for Telnyx to send status callback events to for the call.",
            "example": "https://www.example.com/callback",
            "type": "string"
          },
          "StatusCallbackMethod": {
            "description": "HTTP request type used for `StatusCallback`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "Texml": {
            "description": "TeXML to replace the current one with.",
            "example": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Say>Hello</Say></Response>",
            "type": "string"
          }
        },
        "example": {
          "Status": "completed"
        }
      },
      "UpdateCampaignRequest": {
        "title": "UpdateCampaignRequest",
        "type": "object",
        "properties": {
          "resellerId": {
            "title": "Resellerid",
            "maxLength": 8,
            "type": "string",
            "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign."
          },
          "sample1": {
            "title": "Sample1",
            "maxLength": 255,
            "type": "string",
            "description": "Message sample. Some campaign tiers require 1 or more message samples."
          },
          "sample2": {
            "title": "Sample2",
            "maxLength": 255,
            "type": "string",
            "description": "Message sample. Some campaign tiers require 2 or more message samples."
          },
          "sample3": {
            "title": "Sample3",
            "maxLength": 255,
            "type": "string",
            "description": "Message sample. Some campaign tiers require 3 or more message samples."
          },
          "sample4": {
            "title": "Sample4",
            "maxLength": 255,
            "type": "string",
            "description": "Message sample. Some campaign tiers require 4 or more message samples."
          },
          "sample5": {
            "title": "Sample5",
            "maxLength": 255,
            "type": "string",
            "description": "Message sample. Some campaign tiers require 5 or more message samples."
          },
          "messageFlow": {
            "title": "Messageflow",
            "maxLength": 2048,
            "type": "string",
            "description": "Message flow description."
          },
          "helpMessage": {
            "title": "Helpmessage",
            "maxLength": 255,
            "type": "string",
            "description": "Help message of the campaign."
          },
          "autoRenewal": {
            "title": "Autorenewal",
            "type": "boolean",
            "description": "Help message of the campaign.",
            "default": true
          },
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent."
          },
          "webhookFailoverURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook failover to which campaign status updates are sent."
          }
        }
      },
      "UpdateConferenceParticipantRequest": {
        "type": "object",
        "title": "Update Conference Participant Request",
        "properties": {
          "end_conference_on_exit": {
            "description": "Whether the conference should end when this participant exits.",
            "type": "boolean",
            "example": false
          },
          "soft_end_conference_on_exit": {
            "description": "Whether the conference should soft-end when this participant exits. A soft end will stop new participants from joining but allow existing participants to remain.",
            "type": "boolean",
            "example": false
          },
          "beep_enabled": {
            "description": "Whether entry/exit beeps are enabled for this participant.",
            "type": "string",
            "enum": [
              "always",
              "never",
              "on_enter",
              "on_exit"
            ],
            "example": "always"
          }
        },
        "example": {
          "end_conference_on_exit": true,
          "beep_enabled": "never"
        }
      },
      "UpdateConferenceRequest": {
        "required": [
          "call_control_id",
          "supervisor_role"
        ],
        "type": "object",
        "title": "Update Conference Request",
        "properties": {
          "call_control_id": {
            "description": "Unique identifier and token for controlling the call",
            "example": "v2:T02llQxIyaRkhfRKxgAP8nY511EhFLizdvdUKJiSw8d6A9BborherQczRrZvZakpWxBlpw48KyZQ==",
            "type": "string"
          },
          "command_id": {
            "description": "Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same `command_id` as one that has already been executed.",
            "example": "891510ac-f3e4-11e8-af5b-de00688a4901",
            "type": "string"
          },
          "supervisor_role": {
            "description": "Sets the participant as a supervisor for the conference. A conference can have multiple supervisors. \"barge\" means the supervisor enters the conference as a normal participant. This is the same as \"none\". \"monitor\" means the supervisor is muted but can hear all participants. \"whisper\" means that only the specified \"whisper_call_control_ids\" can hear the supervisor. Defaults to \"none\".",
            "example": "whisper",
            "type": "string",
            "enum": [
              "barge",
              "monitor",
              "none",
              "whisper"
            ]
          },
          "whisper_call_control_ids": {
            "description": "Array of unique call_control_ids the supervisor can whisper to. If none provided, the supervisor will join the conference as a monitoring participant only.",
            "example": [
              "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
              "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "$ref": "#/components/schemas/ConferenceRegion"
          }
        },
        "example": {
          "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
          "command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
          "supervisor_role": "whisper",
          "whisper_call_control_ids": [
            "v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ",
            "v2:qqpb0mmvd-ovhhBr0BUQQn0fld5jIboaaX3-De0DkqXHzbf8d75xkw"
          ]
        }
      },
      "UpdateConversationRequest": {
        "properties": {
          "metadata": {
            "type": "object",
            "description": "Metadata associated with the conversation. Set `ai_disabled` to `true` to stop AI from responding to messages (e.g., when a human agent takes over). Set to `false` to re-enable AI responses.",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "type": "object",
        "title": "UpdateConversationRequest"
      },
      "UpdateCredentialConnectionRequest": {
        "type": "object",
        "title": "Update Credential Connection Request",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters).",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/CredentialInbound"
          },
          "outbound": {
            "$ref": "#/components/schemas/CredentialOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "password": "my123secure456password789",
          "user_name": "myusername123",
          "anchorsite_override": "Latency",
          "connection_name": "my name",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": false,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "disabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "US",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        }
      },
      "UpdateExternalConnectionPhoneNumberRequest": {
        "type": "object",
        "title": "Update External Connection Phone Number Request",
        "properties": {
          "location_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the location to assign the phone number to."
          }
        }
      },
      "UpdateExternalConnectionRequest": {
        "type": "object",
        "title": "Update External Connection Request",
        "required": [
          "outbound"
        ],
        "properties": {
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/external-voice-integrations_OutboundVoiceProfileId"
              }
            },
            "required": [
              "outbound_voice_profile_id"
            ]
          }
        },
        "example": {
          "active": false,
          "outbound": {
            "outbound_voice_profile_id": "1911630617284445511"
          }
        }
      },
      "UpdateFaxApplicationRequest": {
        "type": "object",
        "title": "Update Fax Application Request",
        "required": [
          "application_name",
          "webhook_event_url"
        ],
        "properties": {
          "application_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "fax_email_recipient": {
            "$ref": "#/components/schemas/FaxEmailRecipient"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Fax Application.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the number of concurrent outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          }
        },
        "example": {
          "application_name": "fax-router",
          "active": false,
          "anchorsite_override": "Amsterdam, Netherlands",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_timeout_secs": 25,
          "tags": [
            "tag1",
            "tag2"
          ],
          "inbound": {
            "channel_limit": 10,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          }
        }
      },
      "UpdateFqdnConnectionRequest": {
        "title": "Update FQDN Connection Request",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "transport_protocol": {
            "$ref": "#/components/schemas/FqdnConnectionTransportProtocol"
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer that the sender and receiver negotiate T38 directly when both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call according to each leg's settings."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "$ref": "#/components/schemas/WebhookEventUrl"
          },
          "webhook_event_failover_url": {
            "$ref": "#/components/schemas/WebhookEventFailoverUrl"
          },
          "webhook_api_version": {
            "$ref": "#/components/schemas/WebhookApiVersion"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "webhook_timeout_secs": {
            "$ref": "#/components/schemas/WebhookTimeoutSecs"
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/InboundFqdn"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundFqdn"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": true,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "string",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 10,
            "shaken_stir_enabled": true
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        },
        "type": "object"
      },
      "UpdateFqdnRequest": {
        "title": "Update FQDN Request",
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "string",
            "description": "ID of the FQDN connection to which this IP should be attached."
          },
          "fqdn": {
            "type": "string",
            "description": "FQDN represented by this resource.",
            "example": "example.com"
          },
          "port": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Port to use when connecting to this FQDN.",
            "default": 5060,
            "example": 5060
          },
          "dns_record_type": {
            "type": "string",
            "description": "The DNS record type for the FQDN. For cases where a port is not set, the DNS record type must be 'srv'. For cases where a port is set, the DNS record type must be 'a'. If the DNS record type is 'a' and a port is not specified, 5060 will be used.",
            "example": "a"
          }
        },
        "example": {
          "connection_id": "1516447646313612565",
          "fqdn": "example.com",
          "port": 8080,
          "dns_record_type": "a"
        }
      },
      "UpdateIpConnectionRequest": {
        "title": "Update Ip Connection Request",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "type": "string"
          },
          "transport_protocol": {
            "type": "string",
            "description": "One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.",
            "default": "UDP",
            "enum": [
              "UDP",
              "TCP",
              "TLS"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": true,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/InboundIp"
          },
          "outbound": {
            "$ref": "#/components/schemas/OutboundIp"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          }
        },
        "example": {
          "active": true,
          "anchorsite_override": "Latency",
          "connection_name": "string",
          "transport_protocol": "UDP",
          "default_on_hold_comfort_noise_enabled": true,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": false,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "default_routing_method": "sequential",
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "sip_region": "US",
            "sip_subdomain": "test",
            "sip_subdomain_receive_settings": "only_my_connections",
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "string",
            "ani_override_type": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "string",
            "t38_reinvite_source": "customer",
            "tech_prefix": "string",
            "ip_authentication_method": "token",
            "ip_authentication_token": "string",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          }
        },
        "type": "object"
      },
      "UpdateIpRequest": {
        "title": "Update Ip Request",
        "type": "object",
        "required": [
          "ip_address"
        ],
        "properties": {
          "connection_id": {
            "type": "string",
            "description": "ID of the IP Connection to which this IP should be attached."
          },
          "ip_address": {
            "type": "string",
            "description": "IP adddress represented by this resource.",
            "example": "192.168.0.0"
          },
          "port": {
            "type": "integer",
            "description": "Port to use when connecting to this IP.",
            "default": 5060,
            "example": 5060
          }
        },
        "example": {
          "connection_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "ip_address": "192.168.0.0",
          "port": 5060
        }
      },
      "UpdateMCPServerRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "api_key_ref": {
            "type": [
              "string",
              "null"
            ],
            "title": "Api Key Ref"
          },
          "allowed_tools": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "title": "Allowed Tools"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "title": "UpdateMCPServerRequest"
      },
      "UpdateManagedAccountGlobalChannelLimitRequest": {
        "title": "Update Managed Account Global Outbound Channels Request",
        "properties": {
          "channel_limit": {
            "type": "integer",
            "description": "Integer value that indicates the number of allocatable global outbound channels that should be allocated to the managed account. Must be 0 or more. If the value is 0 then the account will have no usable channels and will not be able to perform outbound calling.",
            "example": 30
          }
        },
        "example": {
          "channel_limit": 30
        },
        "type": "object"
      },
      "UpdateManagedAccountRequest": {
        "title": "Update Managed Account Request",
        "properties": {
          "managed_account_allow_custom_pricing": {
            "type": "boolean",
            "description": "Boolean value that indicates if the managed account is able to have custom pricing set for it or not. If false, uses the pricing of the manager account. Defaults to false. This value may be changed, but there may be time lag between when the value is changed and pricing changes take effect.",
            "example": false
          }
        },
        "example": {
          "managed_account_allow_custom_pricing": true
        },
        "type": "object"
      },
      "UpdateMediaMultipartRequest": {
        "type": "object",
        "title": "Upload media multipart request",
        "properties": {
          "media": {
            "description": "The file you want to upload. The maximum allowed size is 20 MB.",
            "type": "string",
            "format": "binary"
          },
          "ttl_secs": {
            "description": "The number of seconds after which the media resource will be deleted, defaults to 2 days. The maximum allowed vale is 630720000, which translates to 20 years.",
            "type": "integer",
            "example": 86400
          }
        },
        "example": {
          "media": "string($binary)",
          "ttl_secs": 86400
        }
      },
      "UpdateMediaRequest": {
        "type": "object",
        "title": "Upload media request",
        "properties": {
          "media_url": {
            "description": "The URL where the media to be stored in Telnyx network is currently hosted. The maximum allowed size is 20 MB.",
            "type": "string",
            "example": "http://www.example.com/audio.mp3"
          },
          "ttl_secs": {
            "description": "The number of seconds after which the media resource will be deleted, defaults to 2 days. The maximum allowed vale is 630720000, which translates to 20 years.",
            "type": "integer",
            "example": 86400
          }
        },
        "example": {
          "media_url": "http://www.example.com/audio.mp3",
          "ttl_secs": 86400
        }
      },
      "UpdateMessageTemplateRequest": {
        "title": "UpdateMessageTemplateRequest",
        "description": "The request body when updating a message template.",
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "example": "Your {{app_name}} verification code is: {{code}}.",
            "type": "string",
            "description": "The text content of the message template."
          }
        }
      },
      "UpdateMessagingProfileRequest": {
        "type": "object",
        "properties": {
          "record_type": {
            "description": "Identifies the type of the resource.",
            "type": "string",
            "enum": [
              "messaging_profile"
            ],
            "readOnly": true
          },
          "id": {
            "description": "Identifies the type of resource.",
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "name": {
            "description": "A user friendly name for the messaging profile.",
            "type": "string"
          },
          "enabled": {
            "description": "Specifies whether the messaging profile is enabled or not.",
            "type": "boolean"
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this messaging profile will be sent.",
            "type": [
              "string",
              "null"
            ],
            "format": "url"
          },
          "webhook_failover_url": {
            "description": "The failover URL where webhooks related to this messaging profile will be sent if sending to the primary URL fails.",
            "type": [
              "string",
              "null"
            ],
            "format": "url"
          },
          "webhook_api_version": {
            "description": "Determines which webhook format will be used, Telnyx API v1, v2, or a legacy 2010-04-01 format.",
            "type": "string",
            "enum": [
              "1",
              "2",
              "2010-04-01"
            ]
          },
          "whitelisted_destinations": {
            "description": "Destinations to which the messaging profile is allowed to send. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed.\n\nThis field is required if the messaging profile doesn't have it defined yet.",
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code.",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "created_at": {
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "v1_secret": {
            "description": "Secret used to authenticate with v1 endpoints.",
            "type": "string"
          },
          "number_pool_settings": {
            "$ref": "#/components/schemas/NumberPoolSettings"
          },
          "url_shortener_settings": {
            "$ref": "#/components/schemas/UrlShortenerSettings"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$"
          },
          "daily_spend_limit": {
            "description": "The maximum amount of money (in USD) that can be spent by this profile before midnight UTC.",
            "type": "string",
            "pattern": "^[0-9]+(?:\\.[0-9]+)?$"
          },
          "daily_spend_limit_enabled": {
            "description": "Whether to enforce the value configured by `daily_spend_limit`.",
            "type": "boolean"
          },
          "mms_fall_back_to_sms": {
            "description": "enables SMS fallback for MMS messages.",
            "type": "boolean",
            "default": false
          },
          "mms_transcoding": {
            "description": "enables automated resizing of MMS media.",
            "type": "boolean",
            "default": false
          },
          "mobile_only": {
            "description": "Send messages only to mobile phone numbers.",
            "type": "boolean",
            "default": false
          },
          "smart_encoding": {
            "description": "Enables automatic character encoding optimization for SMS messages. When enabled, the system automatically selects the most efficient encoding (GSM-7 or UCS-2) based on message content to maximize character limits and minimize costs.",
            "type": "boolean",
            "default": false
          }
        },
        "example": {
          "name": "Updated Profile for Messages",
          "webhook_url": "https://www.example.com/hooks",
          "webhook_failover_url": "https://backup.example.com/hooks",
          "enabled": true,
          "webhook_api_version": "2",
          "whitelisted_destinations": [
            "US"
          ],
          "number_pool_settings": {
            "toll_free_weight": 10,
            "long_code_weight": 2,
            "skip_unhealthy": false,
            "sticky_sender": true,
            "geomatch": false
          },
          "url_shortener_settings": {
            "domain": "example.ex",
            "prefix": "cmpny",
            "replace_blacklist_only": true,
            "send_webhooks": false
          },
          "v1_secret": "rP1VamejkU2v0qIUxntqLW2c"
        }
      },
      "UpdateMissionRequest": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "model": {
            "title": "Model",
            "type": "string"
          },
          "instructions": {
            "title": "Instructions",
            "type": "string"
          },
          "execution_mode": {
            "$ref": "#/components/schemas/ExecutionMode"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "title": "UpdateMissionRequest"
      },
      "UpdateMissionRunRequest": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/RunStatus"
          },
          "result_summary": {
            "title": "Result Summary",
            "type": "string"
          },
          "result_payload": {
            "title": "Result Payload",
            "additionalProperties": true,
            "type": "object"
          },
          "error": {
            "title": "Error",
            "type": "string"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "title": "UpdateMissionRunRequest"
      },
      "UpdateNumberOrderPhoneNumberRequest": {
        "properties": {
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateRegulatoryRequirement"
            }
          }
        },
        "type": "object"
      },
      "UpdateNumberOrderRequest": {
        "properties": {
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateRegulatoryRequirement"
            }
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          }
        },
        "type": "object"
      },
      "UpdateOutboundVoiceProfileRequest": {
        "type": "object",
        "title": "Outbound Voice Profile",
        "required": [
          "name"
        ],
        "example": {
          "name": "office",
          "traffic_type": "conversational",
          "service_plan": "global",
          "concurrent_call_limit": 10,
          "enabled": true,
          "tags": [
            "office-profile"
          ],
          "usage_payment_method": "rate-deck",
          "whitelisted_destinations": [
            "US",
            "BR",
            "AU"
          ],
          "max_destination_rate": 10,
          "daily_spend_limit": "100.00",
          "daily_spend_limit_enabled": true,
          "billing_group_id": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
          "calling_window": {
            "start_time": "08:00:00.00Z",
            "end_time": "20:00:00.00Z",
            "calls_per_cld": 5
          }
        },
        "properties": {
          "name": {
            "type": "string",
            "description": "A user-supplied name to help with organization.",
            "example": "office",
            "minLength": 3
          },
          "traffic_type": {
            "$ref": "#/components/schemas/TrafficType"
          },
          "service_plan": {
            "$ref": "#/components/schemas/ServicePlan"
          },
          "concurrent_call_limit": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Must be no more than your global concurrent call limit. Null means no limit.",
            "example": 10
          },
          "enabled": {
            "type": "boolean",
            "description": "Specifies whether the outbound voice profile can be used. Disabled profiles will result in outbound calls being blocked for the associated Connections.",
            "example": true,
            "default": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "office-profile"
            ]
          },
          "usage_payment_method": {
            "$ref": "#/components/schemas/UsagePaymentMethod"
          },
          "whitelisted_destinations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2.",
            "example": [
              "US",
              "BR",
              "AU"
            ],
            "default": [
              "US",
              "CA"
            ]
          },
          "max_destination_rate": {
            "type": "number",
            "description": "Maximum rate (price per minute) for a Destination to be allowed when making outbound calls."
          },
          "daily_spend_limit": {
            "type": "string",
            "description": "The maximum amount of usage charges, in USD, you want Telnyx to allow on this outbound voice profile in a day before disallowing new calls.",
            "example": "100.00"
          },
          "daily_spend_limit_enabled": {
            "type": "boolean",
            "description": "Specifies whether to enforce the daily_spend_limit on this outbound voice profile.",
            "example": true,
            "default": false
          },
          "call_recording": {
            "$ref": "#/components/schemas/OutboundCallRecording"
          },
          "billing_group_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "The ID of the billing group associated with the outbound proflile. Defaults to null (for no group assigned).",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58",
            "default": null
          },
          "calling_window": {
            "type": "object",
            "description": "(BETA) Specifies the time window and call limits for calls made using this outbound voice profile.",
            "example": {
              "start_time": "08:00:00.00Z",
              "end_time": "20:00:00.00Z",
              "calls_per_cld": 5
            },
            "properties": {
              "start_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are allowed to start.",
                "example": "08:00:00.00Z",
                "format": "time"
              },
              "end_time": {
                "type": "string",
                "description": "(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no longer allowed to start.",
                "example": "20:00:00.00Z",
                "format": "time"
              },
              "calls_per_cld": {
                "type": "integer",
                "description": "(BETA) The maximum number of calls that can be initiated to a single called party (CLD) within the calling window. A null value means no limit.",
                "example": 5,
                "minimum": 0
              }
            }
          }
        }
      },
      "UpdatePartnerCampaignRequest": {
        "title": "UpdateCampaignRequest",
        "type": "object",
        "properties": {
          "webhookURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook to which campaign status updates are sent.",
            "example": "https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93"
          },
          "webhookFailoverURL": {
            "title": "WebhookURL",
            "type": "string",
            "description": "Webhook failover to which campaign status updates are sent.",
            "example": "https://webhook.com/9010a453-4df8-4be6-a551-1070892888d6"
          }
        }
      },
      "UpdatePhoneNumberMessagingSettingsRequest": {
        "type": "object",
        "properties": {
          "messaging_profile_id": {
            "type": "string",
            "description": "Configure the messaging profile this phone number is assigned to:\n\n* Omit this field or set its value to `null` to keep the current value.\n* Set this field to `\"\"` to unassign the number from its messaging profile\n* Set this field to a quoted UUID of a messaging profile to assign this number to that messaging profile"
          },
          "messaging_product": {
            "type": "string",
            "description": "Configure the messaging product for this number:\n\n* Omit this field or set its value to `null` to keep the current value.\n* Set this field to a quoted product ID to set this phone number to that product",
            "example": "P2P"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags to set on this phone number."
          }
        },
        "example": {
          "messaging_profile_id": "dd50eba1-a0c0-4563-9925-b25e842a7cb6",
          "messaging_product": "P2P"
        }
      },
      "UpdatePhoneNumberRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifies the type of resource.",
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "description": "A list of user-assigned tags to help organize phone numbers.",
            "items": {
              "type": "string"
            }
          },
          "external_pin": {
            "type": "string",
            "description": "If someone attempts to port your phone number away from Telnyx and your phone number has an external PIN set, we will attempt to verify that you provided the correct external PIN to the winning carrier. Note that not all carriers cooperate with this security mechanism."
          },
          "hd_voice_enabled": {
            "type": "boolean",
            "description": "Indicates whether HD voice is enabled for this number.",
            "example": true
          },
          "customer_reference": {
            "type": "string",
            "description": "A customer reference string for customer look ups.",
            "example": "MY REF 001"
          },
          "address_id": {
            "type": "string",
            "description": "Identifies the address associated with the phone number."
          },
          "connection_id": {
            "type": "string",
            "description": "Identifies the connection associated with the phone number."
          },
          "billing_group_id": {
            "type": "string",
            "description": "Identifies the billing group associated with the phone number."
          }
        },
        "example": {
          "id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "tags": [
            "tag"
          ],
          "address_id": "dc8f39ac-953d-4520-b93b-786ae87db0da",
          "external_pin": "1234",
          "customer_reference": "customer-reference",
          "connection_id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "billing_group_id": "dc8e4d67-33a0-4cbb-af74-7b58f05bd494",
          "hd_voice_enabled": true
        }
      },
      "UpdatePhoneNumberVoiceSettingsRequest": {
        "type": "object",
        "properties": {
          "tech_prefix_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Controls whether a tech prefix is enabled for this phone number."
          },
          "translated_number": {
            "type": "string",
            "description": "This field allows you to rewrite the destination number of an inbound call before the call is routed to you. The value of this field may be any alphanumeric value, and the value will replace the number originally dialed."
          },
          "caller_id_name_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Controls whether the caller ID name is enabled for this phone number."
          },
          "call_forwarding": {
            "$ref": "#/components/schemas/CallForwarding"
          },
          "cnam_listing": {
            "$ref": "#/components/schemas/CnamListing"
          },
          "usage_payment_method": {
            "type": "string",
            "enum": [
              "pay-per-minute",
              "channel"
            ],
            "default": "pay-per-minute",
            "description": "Controls whether a number is billed per minute or uses your concurrent channels."
          },
          "media_features": {
            "$ref": "#/components/schemas/MediaFeatures"
          },
          "call_recording": {
            "$ref": "#/components/schemas/CallRecording"
          },
          "inbound_call_screening": {
            "type": "string",
            "enum": [
              "disabled",
              "reject_calls",
              "flag_calls"
            ],
            "default": "disabled",
            "description": "The inbound_call_screening setting is a phone number configuration option variable that allows users to configure their settings to block or flag fraudulent calls. It can be set to disabled, reject_calls, or flag_calls. This feature has an additional per-number monthly cost associated with it."
          }
        },
        "example": {
          "tech_prefix_enabled": true,
          "translated_number": "+13035559999",
          "caller_id_name_enabled": true,
          "call_forwarding": {
            "call_forwarding_enabled": true,
            "forwards_to": "+13035559123",
            "forwarding_type": "always"
          },
          "cnam_listing": {
            "cnam_listing_enabled": true,
            "cnam_listing_details": "example"
          },
          "usage_payment_method": "pay-per-minute",
          "media_features": {
            "rtp_auto_adjust_enabled": true,
            "accept_any_rtp_packets_enabled": true,
            "t38_fax_gateway_enabled": true
          },
          "call_recording": {
            "inbound_call_recording_enabled": true,
            "inbound_call_recording_format": "wav",
            "inbound_call_recording_channels": "single"
          },
          "inbound_call_screening": "disabled"
        }
      },
      "UpdatePlanStepRequest": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/StepStatus"
          },
          "metadata": {
            "title": "Metadata",
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object",
        "title": "UpdatePlanStepRequest"
      },
      "UpdatePortingOrder": {
        "type": "object",
        "title": "UpdatePortingOrder",
        "properties": {
          "misc": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PortingOrderMisc"
              },
              {
                "type": "null"
              }
            ]
          },
          "end_user": {
            "$ref": "#/components/schemas/PortingOrderEndUser"
          },
          "documents": {
            "$ref": "#/components/schemas/PortingOrderDocuments"
          },
          "activation_settings": {
            "type": "object",
            "properties": {
              "foc_datetime_requested": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 formatted Date/Time requested for the FOC date",
                "example": "2021-03-19T10:07:15.527Z"
              }
            }
          },
          "phone_number_configuration": {
            "$ref": "#/components/schemas/PortingOrderPhoneNumberConfiguration"
          },
          "requirement_group_id": {
            "type": "string",
            "format": "uuid",
            "description": "If present, we will read the current values from the specified Requirement Group into the Documents and Requirements for this Porting Order. Note that any future changes in the Requirement Group would have no impact on this Porting Order. We will return an error if a specified Requirement Group conflicts with documents or requirements in the same request.",
            "example": "DE748D99-06FA-4D90-9F9A-F4B62696BADA"
          },
          "requirements": {
            "type": "array",
            "description": "List of requirements for porting numbers. ",
            "items": {
              "$ref": "#/components/schemas/UpdatePortingOrderRequirement"
            }
          },
          "user_feedback": {
            "$ref": "#/components/schemas/PortingOrderUserFeedback"
          },
          "webhook_url": {
            "type": "string",
            "format": "uri"
          },
          "customer_reference": {
            "type": "string"
          },
          "customer_group_reference": {
            "type": "string"
          },
          "messaging": {
            "type": "object",
            "properties": {
              "enable_messaging": {
                "type": "boolean",
                "description": "Indicates whether Telnyx will port messaging capabilities from the losing carrier. If false, any messaging capabilities will stay with their current provider.",
                "example": true
              }
            }
          }
        }
      },
      "UpdatePortingOrderRequirement": {
        "type": "object",
        "description": "Specifies a value for a requirement on the Porting Order.",
        "required": [
          "field_value",
          "requirement_type_id"
        ],
        "properties": {
          "field_value": {
            "type": "string",
            "description": "identifies the document or provides the text value that satisfies this requirement",
            "example": "9787fb5f-cbe5-4de4-b765-3303774ee9fe"
          },
          "requirement_type_id": {
            "type": "string",
            "description": "Identifies the requirement type that the `field_value` fulfills",
            "example": "59b0762a-b274-4f76-ac32-4d5cf0272e66"
          }
        }
      },
      "UpdatePronunciationDictRequest": {
        "type": "object",
        "description": "Request body for updating a pronunciation dictionary. At least one field must be provided.",
        "minProperties": 1,
        "properties": {
          "name": {
            "type": "string",
            "description": "Updated dictionary name.",
            "minLength": 1,
            "maxLength": 255,
            "example": "Updated Brand Names"
          },
          "items": {
            "type": "array",
            "description": "Updated list of pronunciation items (alias or phoneme type).",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/PronunciationDictItem"
            }
          }
        }
      },
      "UpdateQueueRequest": {
        "type": "object",
        "title": "Update Queue Request",
        "required": [
          "max_size"
        ],
        "properties": {
          "max_size": {
            "description": "The maximum number of calls allowed in the queue.",
            "type": "integer",
            "minimum": 1,
            "example": 200
          }
        },
        "example": {
          "max_size": 200
        }
      },
      "UpdateQueuedCallRequest": {
        "type": "object",
        "title": "Update Queued Call Request",
        "properties": {
          "keep_after_hangup": {
            "description": "Whether the call should remain in queue after hangup.",
            "example": true,
            "type": "boolean"
          }
        },
        "example": {
          "keep_after_hangup": true
        }
      },
      "UpdateRegulatoryRequirement": {
        "properties": {
          "requirement_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id for a requirement.",
            "example": "8ffb3622-7c6b-4ccc-b65f-7a3dc0099576"
          },
          "field_value": {
            "type": "string",
            "description": "The value of the requirement. For address and document requirements, this should be the ID of the resource. For textual, this should be the value of the requirement.",
            "example": "45f45a04-b4be-4592-95b1-9306b9db2b21"
          }
        },
        "type": "object"
      },
      "UpdateSharedToolRequest": {
        "properties": {
          "type": {
            "title": "Type",
            "type": "string"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "function": {
            "title": "Function",
            "additionalProperties": true,
            "type": "object"
          },
          "retrieval": {
            "title": "Retrieval",
            "additionalProperties": true,
            "type": "object"
          },
          "handoff": {
            "title": "Handoff",
            "additionalProperties": true,
            "type": "object"
          },
          "invite": {
            "title": "Invite",
            "additionalProperties": true,
            "type": "object"
          },
          "webhook": {
            "title": "Webhook",
            "additionalProperties": true,
            "type": "object"
          },
          "timeout_ms": {
            "title": "Timeout Ms",
            "type": "integer"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "UpdateSharedToolRequest",
        "description": "Request model for updating a shared tool."
      },
      "UpdateShortCodeRequest": {
        "type": "object",
        "required": [
          "messaging_profile_id"
        ],
        "properties": {
          "messaging_profile_id": {
            "type": "string",
            "description": "Unique identifier for a messaging profile."
          },
          "tags": {
            "type": [
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "example": {
          "messaging_profile_id": "abc85f64-5717-4562-b3fc-2c9600000000",
          "tags": [
            "test_customer"
          ]
        }
      },
      "UpdateSubNumberOrderRequest": {
        "properties": {
          "regulatory_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateRegulatoryRequirement"
            }
          }
        },
        "type": "object"
      },
      "UpdateTexmlApplicationRequest": {
        "type": "object",
        "title": "Update Texml Application Request",
        "required": [
          "friendly_name",
          "voice_url"
        ],
        "properties": {
          "friendly_name": {
            "$ref": "#/components/schemas/ApplicationName"
          },
          "active": {
            "$ref": "#/components/schemas/ConnectionActive"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "first_command_timeout": {
            "$ref": "#/components/schemas/FirstCommandTimeout"
          },
          "first_command_timeout_secs": {
            "$ref": "#/components/schemas/FirstCommandTimeoutSecs"
          },
          "voice_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks.",
            "format": "uri",
            "example": "https://example.com"
          },
          "voice_fallback_url": {
            "type": "string",
            "description": "URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url.",
            "default": null,
            "format": "uri",
            "example": "https://fallback.example.com"
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this TeXML Application.",
            "default": false
          },
          "voice_method": {
            "type": "string",
            "description": "HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "status_callback": {
            "type": "string",
            "description": "URL for Telnyx to send requests to containing information about call progress events.",
            "default": null,
            "format": "uri",
            "example": "https://example.com"
          },
          "status_callback_method": {
            "type": "string",
            "description": "HTTP request method Telnyx should use when requesting the status_callback URL.",
            "enum": [
              "get",
              "post"
            ],
            "default": "post",
            "example": "get"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the Texml Application.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "inbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of inbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "shaken_stir_enabled": {
                "type": "boolean",
                "description": "When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls.",
                "default": false,
                "example": false
              },
              "sip_subdomain": {
                "type": "string",
                "description": "Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.",
                "default": null,
                "example": "example"
              },
              "sip_subdomain_receive_settings": {
                "type": "string",
                "description": "This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).",
                "enum": [
                  "only_my_connections",
                  "from_anyone"
                ],
                "default": "from_anyone",
                "example": "only_my_connections"
              }
            }
          },
          "outbound": {
            "type": "object",
            "properties": {
              "channel_limit": {
                "type": "integer",
                "description": "When set, this will limit the total number of outbound calls to phone numbers associated with this connection.",
                "default": null,
                "example": 10
              },
              "outbound_voice_profile_id": {
                "$ref": "#/components/schemas/OutboundVoiceProfileId"
              }
            }
          }
        },
        "example": {
          "friendly_name": "call-router",
          "active": false,
          "anchorsite_override": "Amsterdam, Netherlands",
          "dtmf_type": "Inband",
          "first_command_timeout": true,
          "first_command_timeout_secs": 10,
          "voice_url": "https://example.com",
          "voice_fallback_url": "https://fallback.example.com",
          "call_cost_in_webhooks": false,
          "voice_method": "get",
          "status_callback": "https://example.com",
          "status_callback_method": "get",
          "tags": [
            "tag1",
            "tag2"
          ],
          "inbound": {
            "channel_limit": 10,
            "shaken_stir_enabled": true,
            "sip_subdomain": "example",
            "sip_subdomain_receive_settings": "only_my_connections"
          },
          "outbound": {
            "channel_limit": 10,
            "outbound_voice_profile_id": "1293384261075731499"
          }
        }
      },
      "UpdateUacConnectionRequest": {
        "type": "object",
        "title": "Update UAC Connection Request",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Defaults to true"
          },
          "user_name": {
            "type": "string",
            "description": "The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters).",
            "example": "myusername123"
          },
          "password": {
            "type": "string",
            "description": "The password to be used as part of the credentials. Must be 8 to 128 characters long.",
            "example": "my123secure456password789"
          },
          "anchorsite_override": {
            "$ref": "#/components/schemas/AnchorsiteOverride"
          },
          "connection_name": {
            "$ref": "#/components/schemas/ConnectionName"
          },
          "sip_uri_calling_preference": {
            "type": "string",
            "description": "This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).",
            "enum": [
              "disabled",
              "unrestricted",
              "internal"
            ]
          },
          "default_on_hold_comfort_noise_enabled": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout."
          },
          "dtmf_type": {
            "$ref": "#/components/schemas/DtmfType"
          },
          "encode_contact_header_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios."
          },
          "encrypted_media": {
            "$ref": "#/components/schemas/EncryptedMedia"
          },
          "onnet_t38_passthrough_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings."
          },
          "ios_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionIosPushCredentialId"
          },
          "android_push_credential_id": {
            "$ref": "#/components/schemas/ConnectionAndroidPushCredentialId"
          },
          "webhook_event_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
            "example": "https://example.com"
          },
          "webhook_event_failover_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
            "example": "https://failover.example.com",
            "default": ""
          },
          "webhook_api_version": {
            "type": "string",
            "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
            "enum": [
              "1",
              "2"
            ],
            "example": "1",
            "default": "1"
          },
          "webhook_timeout_secs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 30,
            "description": "Specifies how many seconds to wait before timing out a webhook.",
            "example": 25,
            "default": null
          },
          "call_cost_in_webhooks": {
            "type": "boolean",
            "description": "Specifies if call cost webhooks should be sent for this connection.",
            "default": false
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the connection.",
            "example": [
              "tag1",
              "tag2"
            ]
          },
          "rtcp_settings": {
            "$ref": "#/components/schemas/ConnectionRtcpSettings"
          },
          "inbound": {
            "$ref": "#/components/schemas/UacInboundRequest"
          },
          "outbound": {
            "$ref": "#/components/schemas/UacOutbound"
          },
          "noise_suppression": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppression"
          },
          "noise_suppression_details": {
            "$ref": "#/components/schemas/ConnectionNoiseSuppressionDetails"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/ConnectionJitterBuffer"
          },
          "internal_uac_settings": {
            "$ref": "#/components/schemas/UacInternalSettings"
          },
          "external_uac_settings": {
            "$ref": "#/components/schemas/UacExternalSettings"
          }
        },
        "example": {
          "active": true,
          "password": "my123secure456password789",
          "user_name": "myusername123",
          "anchorsite_override": "Latency",
          "connection_name": "my name",
          "sip_uri_calling_preference": "disabled",
          "default_on_hold_comfort_noise_enabled": false,
          "dtmf_type": "RFC 2833",
          "encode_contact_header_enabled": true,
          "encrypted_media": "SRTP",
          "onnet_t38_passthrough_enabled": true,
          "ios_push_credential_id": "ec0c8e5d-439e-4620-a0c1-9d9c8d02a836",
          "android_push_credential_id": "06b09dfd-7154-4980-8b75-cebf7a9d4f8e",
          "webhook_event_url": "https://example.com",
          "webhook_event_failover_url": "https://failover.example.com",
          "webhook_api_version": "1",
          "webhook_timeout_secs": 25,
          "call_cost_in_webhooks": false,
          "tags": [
            "tag1",
            "tag2"
          ],
          "rtcp_settings": {
            "port": "rtcp-mux",
            "capture_enabled": true,
            "report_frequency_secs": 10
          },
          "inbound": {
            "ani_number_format": "+E.164",
            "dnis_number_format": "+e164",
            "codecs": [
              "G722"
            ],
            "channel_limit": 10,
            "generate_ringback_tone": true,
            "isup_headers_enabled": true,
            "prack_enabled": true,
            "sip_compact_headers_enabled": true,
            "timeout_1xx_secs": 10,
            "timeout_2xx_secs": 20,
            "shaken_stir_enabled": true,
            "simultaneous_ringing": "disabled"
          },
          "outbound": {
            "call_parking_enabled": true,
            "ani_override": "always",
            "channel_limit": 10,
            "instant_ringback_enabled": true,
            "generate_ringback_tone": true,
            "localization": "US",
            "t38_reinvite_source": "customer",
            "outbound_voice_profile_id": "1293384261075731499"
          },
          "noise_suppression": "both",
          "noise_suppression_details": {
            "engine": "deep_filter_net",
            "attenuation_limit": 80
          },
          "jitter_buffer": {
            "enable_jitter_buffer": true,
            "jitterbuffer_msec_min": 60,
            "jitterbuffer_msec_max": 200
          },
          "internal_uac_settings": {
            "destination_uri": "14155550123@acme.sip.telnyx.com"
          },
          "external_uac_settings": {
            "username": "ext8492",
            "password": "testtesttest",
            "proxy": "sip-pbx.acme.example",
            "auth_username": "auth8492",
            "from_user": "8492",
            "outbound_proxy": "outbound.sip-pbx.acme.example:5061",
            "expiration_sec": 600,
            "transport": "TLS"
          }
        },
        "description": "Parameters that can be updated in a UAC connection. A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the registration."
      },
      "UpdateVerifyProfileCallRequest": {
        "title": "UpdateVerifyProfileCallRequest",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "UpdateVerifyProfileSMSRequest": {
        "title": "UpdateVerifyProfileSMSRequest",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$",
            "default": "Telnyx"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "UpdateVerifyProfileSettingsWhatsAppRequest": {
        "title": "UpdateVerifyProfileSettingsWhatsAppRequest",
        "type": "object",
        "properties": {
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          },
          "waba_id": {
            "example": "1234567890",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer Meta WABA ID for Bring-Your-Own-WABA sending",
            "default": null
          },
          "sender_phone_number": {
            "example": "+13035551234",
            "type": [
              "string",
              "null"
            ],
            "description": "Phone number registered on the customer WABA to send OTPs from",
            "default": null
          },
          "template_id": {
            "example": "authentication_template_name",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer pre-approved authentication template name registered on Meta",
            "default": null
          }
        }
      },
      "UpdatedAt": {
        "title": "Updated At",
        "type": "string",
        "description": "ISO 8601 formatted date indicating when the resource was updated.",
        "example": "2020-02-03T22:25:27.521Z"
      },
      "UplinkData": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Uplink data",
            "example": 1
          },
          "unit": {
            "description": "Transmission unit",
            "type": "string",
            "enum": [
              "B",
              "KB",
              "MB"
            ],
            "default": "MB"
          }
        }
      },
      "Upload": {
        "type": "object",
        "title": "Upload",
        "properties": {
          "ticket_id": {
            "$ref": "#/components/schemas/UUID"
          },
          "tenant_id": {
            "type": "string",
            "format": "uuid",
            "example": "ea175aba-f47c-4702-9400-efaa42688048"
          },
          "location_id": {
            "type": "string",
            "format": "uuid",
            "example": "c37e5036-1e87-42e6-86a2-b3e8dd39a2ad"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending_upload",
              "pending",
              "in_progress",
              "partial_success",
              "success",
              "error"
            ],
            "description": "Represents the status of the upload on Microsoft Teams.",
            "example": "error",
            "default": "pending_upload"
          },
          "available_usages": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "calling_user_assignment",
                "first_party_app_assignment"
              ],
              "description": "Available usages for the numbers in the upload on Microsoft Teams."
            }
          },
          "error_code": {
            "type": "string",
            "description": "A code returned by Microsoft Teams if there is an error with the upload process."
          },
          "error_message": {
            "type": "string",
            "description": "A message set if there is an error with the upload process."
          },
          "tn_upload_entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TnUploadEntry"
            }
          }
        }
      },
      "UploadFileMessagingHostedNumberOrderRequest": {
        "type": "object",
        "example": {
          "loa": "example loa",
          "bill": "bill example"
        },
        "properties": {
          "loa": {
            "type": "string",
            "format": "binary",
            "description": "Must be a signed LOA for the numbers in the order in PDF format."
          },
          "bill": {
            "type": "string",
            "format": "binary",
            "description": "Must be the last month's bill with proof of ownership of all of the numbers in the order in PDF format."
          }
        }
      },
      "UploadMediaMultipartRequest": {
        "type": "object",
        "title": "Upload media multipart request",
        "required": [
          "media"
        ],
        "properties": {
          "media": {
            "description": "The file you want to upload. The maximum allowed size is 20 MB.",
            "type": "string",
            "format": "binary"
          },
          "ttl_secs": {
            "description": "The number of seconds after which the media resource will be deleted, defaults to 2 days. The maximum allowed vale is 630720000, which translates to 20 years.",
            "type": "integer",
            "example": 86400
          },
          "media_name": {
            "description": "The unique identifier of a file.",
            "type": "string",
            "example": "my_file"
          }
        },
        "example": {
          "media": "string($binary)",
          "ttl_secs": 86400,
          "media_name": "my-file"
        }
      },
      "UploadMediaRequest": {
        "type": "object",
        "title": "Upload media request",
        "required": [
          "media_url"
        ],
        "properties": {
          "media_url": {
            "description": "The URL where the media to be stored in Telnyx network is currently hosted. The maximum allowed size is 20 MB.",
            "type": "string",
            "example": "http://www.example.com/audio.mp3"
          },
          "ttl_secs": {
            "description": "The number of seconds after which the media resource will be deleted, defaults to 2 days. The maximum allowed vale is 630720000, which translates to 20 years.",
            "type": "integer",
            "example": 86400
          },
          "media_name": {
            "description": "The unique identifier of a file.",
            "type": "string",
            "example": "my_file"
          }
        },
        "example": {
          "media_url": "http://www.example.com/audio.mp3",
          "ttl_secs": 86400,
          "media_name": "my-file"
        }
      },
      "Url": {
        "title": "Url",
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "title": "Url",
            "maxLength": 2083,
            "minLength": 1,
            "type": "string",
            "format": "uri"
          }
        }
      },
      "UrlShortenerSettings": {
        "type": [
          "object",
          "null"
        ],
        "required": [
          "domain"
        ],
        "description": "The URL shortener feature allows automatic replacement of URLs that were generated using\na public URL shortener service. Some examples include bit.do, bit.ly, goo.gl, ht.ly,\nis.gd, ow.ly, rebrand.ly, t.co, tiny.cc, and tinyurl.com. Such URLs are replaced with\nwith links generated by Telnyx. The use of custom links can improve branding and message\ndeliverability.\n\nTo disable this feature, set the object field to `null`.\n",
        "properties": {
          "domain": {
            "type": "string",
            "example": "acct.fyi",
            "description": "One of the domains provided by the Telnyx URL shortener service.\n"
          },
          "prefix": {
            "type": "string",
            "example": "",
            "description": "Optional prefix that can be used to identify your brand, and will appear in the Telnyx generated URLs after the domain name.\n"
          },
          "replace_blacklist_only": {
            "type": "boolean",
            "example": true,
            "description": "Use the link replacement tool only for links that are specifically blacklisted by Telnyx.\n"
          },
          "send_webhooks": {
            "type": "boolean",
            "example": false,
            "description": "Receive webhooks for when your replaced links are clicked. Webhooks are sent to the webhooks on the messaging profile.\n"
          }
        },
        "example": {
          "domain": "example.ex",
          "prefix": "",
          "replace_blacklist_only": true,
          "send_webhooks": false
        }
      },
      "UsagePaymentMethod": {
        "type": "string",
        "description": "Setting for how costs for outbound profile are calculated.",
        "enum": [
          "rate-deck"
        ],
        "example": "rate-deck",
        "default": "rate-deck"
      },
      "UsageReportsOptionsRecord": {
        "type": "object",
        "description": "An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records",
        "properties": {
          "product": {
            "type": "string",
            "description": "Telnyx Product",
            "example": "wireless"
          },
          "product_dimensions": {
            "type": "array",
            "description": "Telnyx Product Dimensions",
            "example": [
              "mnc",
              "mcc",
              "sim_card_id",
              "sim_group_name"
            ],
            "items": {
              "type": "string"
            }
          },
          "product_metrics": {
            "type": "array",
            "description": "Telnyx Product Metrics",
            "example": [
              "uplink_data_bytes",
              "downlink_data",
              "downlink_data_bytes",
              "uplink_data",
              "data_cost"
            ],
            "items": {
              "type": "string"
            }
          },
          "record_types": {
            "type": "array",
            "description": "Subproducts if applicable",
            "items": {
              "$ref": "#/components/schemas/usage-reports_RecordType"
            }
          }
        }
      },
      "UsageReportsOptionsResponse": {
        "type": "object",
        "description": "An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records",
        "properties": {
          "data": {
            "type": "array",
            "description": "Collection of product description",
            "items": {
              "$ref": "#/components/schemas/UsageReportsOptionsRecord"
            }
          }
        }
      },
      "UsageReportsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/PaginationData"
          },
          "data": {
            "type": "array",
            "example": [
              {
                "product": "messaging",
                "cost": 0.012,
                "parts": 12,
                "count": 8,
                "customer_carrier_fee": 0,
                "product_name": "long_code",
                "country_iso": "LC",
                "direction": "outbound"
              },
              {
                "product": "messaging",
                "cost": 0.021,
                "parts": 21,
                "count": 12,
                "customer_carrier_fee": 0,
                "product_name": "long_code",
                "country_iso": "MP",
                "direction": "outbound"
              }
            ],
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "UsageRequestLegacy": {
        "required": [
          "end_time",
          "start_time"
        ],
        "type": "object",
        "properties": {
          "start_time": {
            "type": "string",
            "description": "Start time in ISO format",
            "format": "date-time",
            "example": "2024-02-01T00:00:00Z"
          },
          "end_time": {
            "type": "string",
            "description": "End time in ISO format",
            "format": "date-time",
            "example": "2024-02-01T00:00:00Z"
          },
          "aggregation_type": {
            "type": "integer",
            "description": "Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3",
            "format": "int32",
            "example": 0
          },
          "connections": {
            "type": "array",
            "description": "List of connections to filter by",
            "example": [
              123,
              456
            ],
            "items": {
              "type": "integer",
              "description": "List of connections to filter by",
              "format": "int64"
            }
          },
          "product_breakdown": {
            "type": "integer",
            "description": "Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID vs Toll-free per Country = 3",
            "format": "int32",
            "example": 0
          },
          "managed_accounts": {
            "type": "array",
            "description": "List of managed accounts to include",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "f47ac10b-58cc-4372-a567-0e02b2c3d479",
              "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
            ]
          },
          "select_all_managed_accounts": {
            "type": "boolean",
            "description": "Whether to select all managed accounts",
            "example": false
          }
        },
        "description": "Request object for CDR usage report"
      },
      "UseCaseCategories": {
        "title": "UseCaseCategories",
        "enum": [
          "2FA",
          "App Notifications",
          "Appointments",
          "Auctions",
          "Auto Repair Services",
          "Bank Transfers",
          "Billing",
          "Booking Confirmations",
          "Business Updates",
          "COVID-19 Alerts",
          "Career Training",
          "Chatbot",
          "Conversational / Alerts",
          "Courier Services & Deliveries",
          "Emergency Alerts",
          "Events & Planning",
          "Financial Services",
          "Fraud Alerts",
          "Fundraising",
          "General Marketing",
          "General School Updates",
          "HR / Staffing",
          "Healthcare Alerts",
          "Housing Community Updates",
          "Insurance Services",
          "Job Dispatch",
          "Legal Services",
          "Mixed",
          "Motivational Reminders",
          "Notary Notifications",
          "Order Notifications",
          "Political",
          "Public Works",
          "Real Estate Services",
          "Religious Services",
          "Repair and Diagnostics Alerts",
          "Rewards Program",
          "Surveys",
          "System Alerts",
          "Voting Reminders",
          "Waitlist Alerts",
          "Webinar Reminders",
          "Workshop Alerts"
        ],
        "type": "string",
        "description": "Tollfree usecase categories"
      },
      "UsecaseMetadata": {
        "title": "UsecaseMetadata",
        "type": "object",
        "properties": {
          "annualFee": {
            "title": "Annualfee",
            "type": "number",
            "description": "Campaign annual subscription fee"
          },
          "maxSubUsecases": {
            "title": "Maxsubusecases",
            "type": "integer",
            "description": "Maximum number of sub-usecases declaration required."
          },
          "minSubUsecases": {
            "title": "Minsubusecases",
            "type": "integer",
            "description": "Minimum number of sub-usecases declaration required."
          },
          "mnoMetadata": {
            "title": "Mnometadata",
            "type": "object",
            "description": "Map of usecase metadata for each MNO. Key is the network ID of the MNO (e.g. 10017), Value is the mno metadata for the usecase.",
            "additionalProperties": true
          },
          "monthlyFee": {
            "title": "Monthlyfee",
            "type": "number",
            "description": "Campaign monthly subscription fee"
          },
          "quarterlyFee": {
            "title": "Quarterlyfee",
            "type": "number",
            "description": "Campaign quarterly subscription fee"
          },
          "usecase": {
            "title": "Usecase",
            "type": "string",
            "description": "Campaign usecase"
          }
        }
      },
      "UserAddress": {
        "type": "object",
        "title": "UserAddress",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Uniquely identifies the user address.",
            "example": "c3527e69-dc5a-4b3e-8f44-99d209f83c1d"
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "user_address"
          },
          "customer_reference": {
            "$ref": "#/components/schemas/customer_reference"
          },
          "first_name": {
            "$ref": "#/components/schemas/user-addresses_first_name"
          },
          "last_name": {
            "$ref": "#/components/schemas/user-addresses_last_name"
          },
          "business_name": {
            "$ref": "#/components/schemas/user-addresses_business_name"
          },
          "phone_number": {
            "$ref": "#/components/schemas/user-addresses_phone_number"
          },
          "street_address": {
            "$ref": "#/components/schemas/user-addresses_street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/user-addresses_extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/user-addresses_locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/user-addresses_administrative_area"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/user-addresses_neighborhood"
          },
          "borough": {
            "$ref": "#/components/schemas/user-addresses_borough"
          },
          "postal_code": {
            "$ref": "#/components/schemas/user-addresses_postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/user-addresses_country_code"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "UserAddressCreate": {
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "business_name",
          "street_address",
          "locality",
          "country_code"
        ],
        "properties": {
          "customer_reference": {
            "$ref": "#/components/schemas/customer_reference"
          },
          "first_name": {
            "$ref": "#/components/schemas/user-addresses_first_name"
          },
          "last_name": {
            "$ref": "#/components/schemas/user-addresses_last_name"
          },
          "business_name": {
            "$ref": "#/components/schemas/user-addresses_business_name"
          },
          "phone_number": {
            "$ref": "#/components/schemas/user-addresses_phone_number"
          },
          "street_address": {
            "$ref": "#/components/schemas/user-addresses_street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/user-addresses_extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/user-addresses_locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/user-addresses_administrative_area"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/user-addresses_neighborhood"
          },
          "borough": {
            "$ref": "#/components/schemas/user-addresses_borough"
          },
          "postal_code": {
            "$ref": "#/components/schemas/user-addresses_postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/user-addresses_country_code"
          },
          "skip_address_verification": {
            "$ref": "#/components/schemas/skip_address_verification"
          }
        }
      },
      "UserBalance": {
        "type": "object",
        "properties": {
          "pending": {
            "type": "string",
            "description": "The account’s pending amount.",
            "example": "10.00"
          },
          "record_type": {
            "type": "string",
            "example": "balance",
            "enum": [
              "balance"
            ],
            "description": "Identifies the type of the resource."
          },
          "balance": {
            "type": "string",
            "description": "The account's current balance.",
            "example": "300.00"
          },
          "credit_limit": {
            "type": "string",
            "description": "The account's credit limit.",
            "example": "100.00"
          },
          "available_credit": {
            "type": "string",
            "description": "Available amount to spend (balance + credit limit)",
            "example": "400.00"
          },
          "currency": {
            "type": "string",
            "description": "The ISO 4217 currency identifier.",
            "example": "USD"
          }
        },
        "example": {
          "record_type": "balance",
          "pending": "10.00",
          "balance": "300.00",
          "credit_limit": "100.00",
          "available_credit": "400.00",
          "currency": "USD"
        }
      },
      "UserBundle": {
        "type": "object",
        "required": [
          "id",
          "active",
          "user_id",
          "created_at",
          "billing_bundle",
          "resources"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
            "description": "User bundle's ID, this is used to identify the user bundle in the API."
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Status of the user bundle."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "example": "16856d8c-cd59-4b08-9ac2-1ebb01d419e1",
            "description": "The customer's ID that owns this user bundle."
          },
          "created_at": {
            "type": "string",
            "format": "date",
            "example": "2025-01-20",
            "description": "Date the user bundle was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "example": "2025-01-20",
            "description": "Date the user bundle was last updated."
          },
          "billing_bundle": {
            "$ref": "#/components/schemas/BillingBundleSummary"
          },
          "resources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserBundleResourceSchema"
            },
            "example": []
          }
        }
      },
      "UserBundleCreateResponse": {
        "title": "UserBundleCreateResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/UserBundle"
          }
        }
      },
      "UserBundleResourceSchema": {
        "title": "UserBundleResourceSchema",
        "required": [
          "id",
          "resource",
          "resource_type",
          "created_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
            "description": "Resource's ID."
          },
          "resource": {
            "type": "string",
            "example": "+15617819942",
            "description": "The resource itself (usually a phone number)."
          },
          "resource_type": {
            "type": "string",
            "example": "number",
            "description": "The type of the resource (usually 'number')."
          },
          "created_at": {
            "type": "string",
            "format": "date",
            "example": "2025-01-20",
            "description": "Date the resource was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "example": "2025-01-20",
            "description": "Date the resource was last updated."
          }
        }
      },
      "UserBundleResourcesResponse": {
        "title": "UserBundleResourcesResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "title": "Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserBundleResourceSchema"
            }
          }
        }
      },
      "UserBundleResponse": {
        "title": "UserBundleResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/UserBundle"
          }
        }
      },
      "UserEmbeddedBuckets": {
        "properties": {
          "buckets": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Buckets"
          }
        },
        "type": "object",
        "required": [
          "buckets"
        ],
        "title": "UserEmbeddedBuckets"
      },
      "UserEmbeddedBucketsData": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/UserEmbeddedBuckets"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "UserEmbeddedBucketsData"
      },
      "UserGroupReference": {
        "type": "object",
        "title": "UserGroupReference",
        "description": "A reference to a group that a user belongs to.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the group.",
            "example": "7b09cdc3-8948-47f0-aa62-74ac943d6c59"
          },
          "name": {
            "type": "string",
            "description": "The name of the group.",
            "example": "Engineering"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "example": {
          "id": "7b09cdc3-8948-47f0-aa62-74ac943d6c59",
          "name": "Engineering"
        }
      },
      "UserId": {
        "description": "Identifier of the user to whom the fax belongs",
        "type": "string",
        "format": "uuid",
        "example": "a7f7c54a-4df3-4bca-a65a-3da1ecc777f0"
      },
      "UserMessage": {
        "type": "object",
        "title": "User message.",
        "description": "Messages sent by an end user",
        "properties": {
          "role": {
            "description": "The role of the messages author, in this case `user`.",
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "content": {
            "description": "The contents of the user message.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          }
        },
        "required": [
          "role",
          "content"
        ],
        "example": {
          "role": "user",
          "content": "Hello, I would like some help."
        }
      },
      "UserRequirement": {
        "type": "object",
        "properties": {
          "requirement_id": {
            "type": "string"
          },
          "field_value": {
            "type": "string"
          },
          "field_type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "approved",
              "unapproved",
              "pending-approval",
              "declined",
              "expired"
            ]
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UserTagList": {
        "type": "array",
        "items": {
          "type": "string",
          "example": "my-tag"
        },
        "description": "A list of your tags on the given resource type. NOTE: The casing of the tags returned will not necessarily match the casing of the tags when they were added to a resource. This is because the tags will have the casing of the first time they were used within the Telnyx system regardless of source."
      },
      "ValidateAddressField": {
        "type": "object",
        "properties": {
          "street_address": {
            "$ref": "#/components/schemas/street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/administrative_area"
          },
          "postal_code": {
            "$ref": "#/components/schemas/postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/country_code"
          }
        }
      },
      "ValidateAddressRequest": {
        "type": "object",
        "required": [
          "country_code",
          "street_address",
          "postal_code"
        ],
        "properties": {
          "street_address": {
            "$ref": "#/components/schemas/street_address"
          },
          "extended_address": {
            "$ref": "#/components/schemas/extended_address"
          },
          "locality": {
            "$ref": "#/components/schemas/locality"
          },
          "administrative_area": {
            "$ref": "#/components/schemas/administrative_area"
          },
          "postal_code": {
            "$ref": "#/components/schemas/postal_code"
          },
          "country_code": {
            "$ref": "#/components/schemas/country_code"
          }
        }
      },
      "ValidateAddressResult": {
        "type": "object",
        "title": "Validate address action result",
        "properties": {
          "result": {
            "type": "string",
            "description": "Indicates whether an address is valid or invalid.",
            "enum": [
              "valid",
              "invalid"
            ],
            "example": "valid"
          },
          "suggested": {
            "type": "object",
            "description": "Provides normalized address when available.",
            "$ref": "#/components/schemas/ValidateAddressField",
            "additionalProperties": true
          },
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "example": "address_validation"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "required": [
          "result",
          "suggested"
        ]
      },
      "ValidationCodes": {
        "type": "object",
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "x-format": "+E.164"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "verified",
                    "rejected",
                    "already_verified"
                  ]
                }
              },
              "required": [
                "phone_number",
                "status"
              ]
            }
          },
          "order_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "phone_numbers",
          "order_id"
        ]
      },
      "ValidationCodesRequest": {
        "type": "object",
        "properties": {
          "verification_codes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone_number": {
                  "type": "string",
                  "x-format": "+E.164"
                },
                "code": {
                  "type": "string"
                }
              },
              "required": [
                "phone_number",
                "code"
              ]
            }
          }
        },
        "required": [
          "verification_codes"
        ]
      },
      "ValidationError": {
        "title": "ValidationError",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "type": "object",
        "properties": {
          "loc": {
            "title": "Location",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            }
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        }
      },
      "ValidationErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "object",
            "description": "Validation error details keyed by field name.",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "Verification": {
        "title": "Verification",
        "type": "object",
        "properties": {
          "id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "format": "uuid",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/VerificationType"
          },
          "record_type": {
            "$ref": "#/components/schemas/VerificationRecordType"
          },
          "phone_number": {
            "example": "+13035551234",
            "type": "string",
            "description": "+E164 formatted phone number."
          },
          "verify_profile_id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the associated Verify profile."
          },
          "custom_code": {
            "example": "43612",
            "type": [
              "string",
              "null"
            ],
            "description": "Send a self-generated numeric code to the end-user",
            "default": null
          },
          "timeout_secs": {
            "example": 300,
            "type": "integer",
            "description": "This is the number of seconds before the code of the request is expired. Once this request has expired, the code will no longer verify the user. Note: this will override the `default_verification_timeout_secs` on the Verify profile."
          },
          "status": {
            "$ref": "#/components/schemas/VerificationStatus"
          },
          "created_at": {
            "example": "2020-09-14T17:03:32.965812",
            "type": "string"
          },
          "updated_at": {
            "example": "2020-09-14T17:03:32.965812",
            "type": "string"
          }
        }
      },
      "VerificationCodesRequest": {
        "type": "object",
        "properties": {
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string",
              "x-format": "+E.164"
            }
          },
          "verification_method": {
            "type": "string",
            "enum": [
              "sms",
              "call"
            ]
          }
        },
        "required": [
          "phone_numbers",
          "verification_method"
        ]
      },
      "VerificationProfileRecordType": {
        "title": "VerificationProfileRecordType",
        "enum": [
          "verification_profile"
        ],
        "type": "string",
        "example": "verification_profile",
        "description": "The possible verification profile record types."
      },
      "VerificationRecordType": {
        "title": "VerificationRecordType",
        "enum": [
          "verification"
        ],
        "type": "string",
        "example": "verification",
        "description": "The possible verification record types."
      },
      "VerificationRequestEgress": {
        "title": "VerificationRequestEgress",
        "required": [
          "businessName",
          "corporateWebsite",
          "businessAddr1",
          "businessCity",
          "businessState",
          "businessZip",
          "businessContactFirstName",
          "businessContactLastName",
          "businessContactEmail",
          "businessContactPhone",
          "messageVolume",
          "phoneNumbers",
          "useCase",
          "useCaseSummary",
          "productionMessageContent",
          "optInWorkflow",
          "optInWorkflowImageURLs",
          "additionalInformation",
          "id",
          "verificationRequestId"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "title": "Businessname",
            "type": "string",
            "example": "Telnyx LLC"
          },
          "corporateWebsite": {
            "title": "Corporatewebsite",
            "type": "string",
            "example": "http://example.com"
          },
          "businessAddr1": {
            "title": "Businessaddr1",
            "type": "string",
            "example": "600 Congress Avenue"
          },
          "businessAddr2": {
            "title": "Businessaddr2",
            "type": "string",
            "example": "14th Floor"
          },
          "businessCity": {
            "title": "Businesscity",
            "type": "string",
            "example": "Austin"
          },
          "businessState": {
            "title": "Businessstate",
            "type": "string",
            "example": "Texas"
          },
          "businessZip": {
            "title": "Businesszip",
            "type": "string",
            "example": "78701"
          },
          "businessContactFirstName": {
            "title": "Businesscontactfirstname",
            "type": "string",
            "example": "John"
          },
          "businessContactLastName": {
            "title": "Businesscontactlastname",
            "type": "string",
            "example": "Doe"
          },
          "businessContactEmail": {
            "title": "Businesscontactemail",
            "type": "string",
            "example": "email@example.com"
          },
          "businessContactPhone": {
            "title": "Businesscontactphone",
            "type": "string",
            "example": "+18005550100"
          },
          "messageVolume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Volume"
              }
            ],
            "description": "One of the following exact values: 10; 100; 1,000; 10,000; 100,000; 250,000; 500,000; 750,000; 1,000,000; 5,000,000; 10,000,000+",
            "example": "100,000"
          },
          "phoneNumbers": {
            "title": "Phonenumbers",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TFPhoneNumber"
            },
            "example": [
              {
                "phoneNumber": "+18773554398"
              },
              {
                "phoneNumber": "+18773554399"
              }
            ]
          },
          "useCase": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UseCaseCategories"
              }
            ],
            "example": "2FA"
          },
          "useCaseSummary": {
            "title": "Usecasesummary",
            "type": "string",
            "example": "This is a use case where Telnyx sends out 2FA codes to portal users to verify their identity in order to sign into the portal"
          },
          "productionMessageContent": {
            "title": "Productionmessagecontent",
            "type": "string",
            "example": "Your Telnyx OTP is XXXX"
          },
          "optInWorkflow": {
            "title": "Optinworkflow",
            "type": "string",
            "example": "User signs into the Telnyx portal, enters number and is prompted to select whether they want to use 2FA verification for security purposes. If they've opted in a confirmation message is sent out to the handset"
          },
          "optInWorkflowImageURLs": {
            "title": "Optinworkflowimageurls",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Url"
            },
            "example": [
              {
                "url": "https://telnyx.com/sign-up"
              },
              {
                "url": "https://telnyx.com/company/data-privacy"
              }
            ]
          },
          "additionalInformation": {
            "title": "Additionalinformation",
            "type": "string",
            "example": "This is for security purposes, blah blah blah"
          },
          "isvReseller": {
            "title": "Isvreseller",
            "type": "string",
            "example": "Yes"
          },
          "webhookUrl": {
            "title": "Webhookurl",
            "type": "string",
            "example": "http://example-webhook.com"
          },
          "businessRegistrationNumber": {
            "title": "Businessregistrationnumber",
            "type": "string",
            "example": "12-3456789"
          },
          "businessRegistrationType": {
            "title": "Businessregistrationtype",
            "type": "string",
            "example": "EIN"
          },
          "businessRegistrationCountry": {
            "title": "Businessregistrationcountry",
            "type": "string",
            "example": "US"
          },
          "doingBusinessAs": {
            "title": "Doingbusinessas",
            "type": "string",
            "example": "Acme Services"
          },
          "entityType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/toll-free-verification_EntityType"
              }
            ],
            "example": "PRIVATE_PROFIT"
          },
          "optInConfirmationResponse": {
            "title": "Optinconfirmationresponse",
            "type": "string",
            "example": "You have successfully opted in to receive messages from Acme Corp"
          },
          "helpMessageResponse": {
            "title": "Helpmessageresponse",
            "type": "string",
            "example": "Reply HELP for assistance or STOP to unsubscribe. Contact: support@example.com"
          },
          "privacyPolicyURL": {
            "title": "Privacypolicyurl",
            "type": "string",
            "example": "https://example.com/privacy"
          },
          "termsAndConditionURL": {
            "title": "Termsandconditionurl",
            "type": "string",
            "example": "https://example.com/terms"
          },
          "ageGatedContent": {
            "title": "Agegatedcontent",
            "type": "boolean",
            "example": false
          },
          "optInKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "example": "START, YES, SUBSCRIBE"
          },
          "campaignVerifyAuthorizationToken": {
            "title": "Campaignverifyauthorizationtoken",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Campaign Verify Authorization Token required for Political use case submissions starting February 17, 2026",
            "example": "cv_token_abc123xyz"
          },
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "verificationRequestId": {
            "title": "Verificationrequestid",
            "type": "string"
          },
          "verificationStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TFVerificationStatus"
              }
            ],
            "default": "In Progress"
          }
        },
        "description": "A verification request as it comes out of the database"
      },
      "VerificationRequestStatus": {
        "title": "VerificationRequestStatus",
        "required": [
          "businessName",
          "corporateWebsite",
          "businessAddr1",
          "businessCity",
          "businessState",
          "businessZip",
          "businessContactFirstName",
          "businessContactLastName",
          "businessContactEmail",
          "businessContactPhone",
          "messageVolume",
          "phoneNumbers",
          "useCase",
          "useCaseSummary",
          "productionMessageContent",
          "optInWorkflow",
          "optInWorkflowImageURLs",
          "additionalInformation",
          "id",
          "verificationStatus"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "title": "Businessname",
            "type": "string",
            "example": "Telnyx LLC"
          },
          "corporateWebsite": {
            "title": "Corporatewebsite",
            "type": "string",
            "example": "http://example.com"
          },
          "businessAddr1": {
            "title": "Businessaddr1",
            "type": "string",
            "example": "600 Congress Avenue"
          },
          "businessAddr2": {
            "title": "Businessaddr2",
            "type": "string",
            "example": "14th Floor"
          },
          "businessCity": {
            "title": "Businesscity",
            "type": "string",
            "example": "Austin"
          },
          "businessState": {
            "title": "Businessstate",
            "type": "string",
            "example": "Texas"
          },
          "businessZip": {
            "title": "Businesszip",
            "type": "string",
            "example": "78701"
          },
          "businessContactFirstName": {
            "title": "Businesscontactfirstname",
            "type": "string",
            "example": "John"
          },
          "businessContactLastName": {
            "title": "Businesscontactlastname",
            "type": "string",
            "example": "Doe"
          },
          "businessContactEmail": {
            "title": "Businesscontactemail",
            "type": "string",
            "example": "email@example.com"
          },
          "businessContactPhone": {
            "title": "Businesscontactphone",
            "type": "string",
            "example": "+18889809750"
          },
          "messageVolume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Volume"
              }
            ],
            "description": "One of the following exact values: 10; 100; 1,000; 10,000; 100,000; 250,000; 500,000; 750,000; 1,000,000; 5,000,000; 10,000,000+",
            "example": "100,000"
          },
          "phoneNumbers": {
            "title": "Phonenumbers",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TFPhoneNumber"
            },
            "example": [
              {
                "phoneNumber": "+18773554398"
              },
              {
                "phoneNumber": "+18773554399"
              }
            ]
          },
          "useCase": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UseCaseCategories"
              }
            ],
            "example": "2FA"
          },
          "useCaseSummary": {
            "title": "Usecasesummary",
            "type": "string",
            "example": "This is a use case where Telnyx sends out 2FA codes to portal users to verify their identity in order to sign into the portal"
          },
          "productionMessageContent": {
            "title": "Productionmessagecontent",
            "type": "string",
            "example": "Your Telnyx OTP is XXXX"
          },
          "optInWorkflow": {
            "title": "Optinworkflow",
            "type": "string",
            "example": "User signs into the Telnyx portal, enters number and is prompted to select whether they want to use 2FA verification for security purposes. If they've opted in a confirmation message is sent out to the handset"
          },
          "optInWorkflowImageURLs": {
            "title": "Optinworkflowimageurls",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Url"
            },
            "example": [
              {
                "url": "https://telnyx.com/sign-up"
              },
              {
                "url": "https://telnyx.com/company/data-privacy"
              }
            ]
          },
          "additionalInformation": {
            "title": "Additionalinformation",
            "type": "string",
            "example": "This is for security purposes, blah blah blah"
          },
          "isvReseller": {
            "title": "Isvreseller",
            "type": "string",
            "example": "Yes"
          },
          "webhookUrl": {
            "title": "Webhookurl",
            "type": "string",
            "example": "http://example-webhook.com"
          },
          "businessRegistrationNumber": {
            "title": "Businessregistrationnumber",
            "type": "string",
            "example": "12-3456789"
          },
          "businessRegistrationType": {
            "title": "Businessregistrationtype",
            "type": "string",
            "example": "EIN"
          },
          "businessRegistrationCountry": {
            "title": "Businessregistrationcountry",
            "type": "string",
            "example": "US"
          },
          "doingBusinessAs": {
            "title": "Doingbusinessas",
            "type": "string",
            "example": "Acme Services"
          },
          "entityType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/toll-free-verification_EntityType"
              }
            ],
            "example": "PRIVATE_PROFIT"
          },
          "optInConfirmationResponse": {
            "title": "Optinconfirmationresponse",
            "type": "string",
            "example": "You have successfully opted in to receive messages from Acme Corp"
          },
          "helpMessageResponse": {
            "title": "Helpmessageresponse",
            "type": "string",
            "example": "Reply HELP for assistance or STOP to unsubscribe. Contact: support@example.com"
          },
          "privacyPolicyURL": {
            "title": "Privacypolicyurl",
            "type": "string",
            "example": "https://example.com/privacy"
          },
          "termsAndConditionURL": {
            "title": "Termsandconditionurl",
            "type": "string",
            "example": "https://example.com/terms"
          },
          "ageGatedContent": {
            "title": "Agegatedcontent",
            "type": "boolean",
            "example": false
          },
          "optInKeywords": {
            "title": "Optinkeywords",
            "type": "string",
            "example": "START, YES, SUBSCRIBE"
          },
          "campaignVerifyAuthorizationToken": {
            "title": "Campaignverifyauthorizationtoken",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Campaign Verify Authorization Token required for Political use case submissions starting February 17, 2026",
            "example": "cv_token_abc123xyz"
          },
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid",
            "example": "eaba9f52-164e-58e0-b002-4f668e18b7ed"
          },
          "verificationStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TFVerificationStatus"
              }
            ],
            "example": "Waiting For Customer"
          },
          "reason": {
            "title": "Reason",
            "type": "string",
            "example": "Unfortunately, we have to cancel this request as we do not support non tollfree US numbers."
          },
          "createdAt": {
            "title": "Createdat",
            "type": "string",
            "format": "date-time",
            "example": "2024-01-23T18:10:02.574Z"
          },
          "updatedAt": {
            "title": "Updatedat",
            "type": "string",
            "format": "date-time",
            "example": "2024-01-23T18:10:02.574Z"
          }
        },
        "description": "A verification request and its status, suitable for returning to users"
      },
      "VerificationStatus": {
        "title": "VerificationStatus",
        "enum": [
          "pending",
          "accepted",
          "invalid",
          "expired",
          "error"
        ],
        "type": "string",
        "example": "accepted",
        "description": "The possible statuses of the verification request."
      },
      "VerificationStatusHistoryEntry": {
        "title": "VerificationStatusHistoryEntry",
        "required": [
          "verificationStatus",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "verificationStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TFVerificationStatus"
              }
            ],
            "description": "The verification status at this point in time"
          },
          "reason": {
            "title": "Reason",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "An explanation of why this request has its current status.",
            "example": "Unfortunately, we have to cancel this request as we do not support non tollfree US numbers."
          },
          "updatedAt": {
            "title": "Updatedat",
            "type": "string",
            "format": "date-time",
            "description": "The timestamp at which this status change occurred"
          }
        },
        "description": "A single entry in the verification request status history"
      },
      "VerificationType": {
        "title": "VerificationType",
        "enum": [
          "sms",
          "call",
          "flashcall",
          "whatsapp"
        ],
        "type": "string",
        "example": "sms",
        "description": "The possible types of verification."
      },
      "VerifiedNumberRecordType": {
        "title": "VerifiedNumberRecordType",
        "enum": [
          "verified_number"
        ],
        "type": "string",
        "example": "verified_number",
        "description": "The possible verified numbers record types."
      },
      "VerifiedNumberResponse": {
        "title": "VerifiedNumberResponse",
        "type": "object",
        "properties": {
          "phone_number": {
            "example": "+15551234567",
            "type": "string"
          },
          "record_type": {
            "$ref": "#/components/schemas/VerifiedNumberRecordType"
          },
          "verified_at": {
            "example": "2020-09-14T17:03:32.965812",
            "type": "string"
          }
        }
      },
      "VerifiedNumberResponseDataWrapper": {
        "title": "VerifiedNumberResponseDataWrapper",
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/VerifiedNumberResponse",
            "additionalProperties": true
          }
        }
      },
      "VerifyBrandSmsOtpRequest": {
        "title": "VerifyBrandSmsOtpRequest",
        "required": [
          "otpPin"
        ],
        "type": "object",
        "properties": {
          "otpPin": {
            "title": "Otppin",
            "type": "string",
            "description": "The OTP PIN received via SMS",
            "example": "123456",
            "minLength": 4,
            "maxLength": 10
          }
        },
        "description": "Request body for verifying a Brand SMS OTP"
      },
      "VerifyDetailRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0add777f-1549-46f7-84e9-ad7350f6aa97",
            "description": "Unique ID of the verification"
          },
          "verify_profile_id": {
            "type": "string",
            "format": "uuid",
            "example": "49000176-1ab2-8bc1-352e-4009f6c37f82"
          },
          "delivery_status": {
            "type": "string",
            "example": "pending"
          },
          "verification_status": {
            "type": "string",
            "example": "pending"
          },
          "destination_phone_number": {
            "type": "string",
            "description": "E.164 formatted phone number",
            "example": "+13124515883"
          },
          "verify_channel_type": {
            "description": "Depending on the type of verification, the `verify_channel_id`\npoints to one of the following channel ids;\n---\nverify_channel_type | verify_channel_id\n------------------- | -----------------\nsms, psd2           | messaging_id\ncall, flashcall     | call_control_id\n---\n",
            "type": "string",
            "enum": [
              "sms",
              "psd2",
              "call",
              "flashcall"
            ]
          },
          "verify_channel_id": {
            "type": "string",
            "format": "uuid",
            "example": "5b7a8365-91f3-420a-befc-498d1efd6c20"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-07-08T00:00:41.000000+00:00"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2021-07-08T00:00:41.000000+00:00"
          },
          "rate": {
            "type": "string",
            "example": "0.002",
            "description": "Currency amount per billing unit used to calculate the Telnyx billing costs"
          },
          "rate_measured_in": {
            "type": "string",
            "example": "number of occurrences",
            "description": "Billing unit used to calculate the Telnyx billing costs"
          },
          "verify_usage_fee": {
            "type": "string",
            "example": "0.002",
            "description": "Currency amount for Verify Usage Fee"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Telnyx account currency used to describe monetary values, including billing costs"
          },
          "record_type": {
            "type": "string",
            "example": "verification_detail_record",
            "default": "verification_detail_record"
          }
        },
        "required": [
          "record_type"
        ]
      },
      "VerifyProfileCallResponse": {
        "title": "VerifyProfileCallResponse",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "VerifyProfileFlashcallResponse": {
        "title": "VerifyProfileFlashcallResponse",
        "type": "object",
        "properties": {
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "VerifyProfileMessageTemplateResponse": {
        "title": "VerifyProfileResponse",
        "type": "object",
        "properties": {
          "id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string"
          },
          "text": {
            "example": "Your {{app_name}} verification code is: {{code}}.",
            "type": "string"
          }
        }
      },
      "VerifyProfileResponse": {
        "title": "VerifyProfileResponse",
        "type": "object",
        "properties": {
          "id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "example": "Test Profile",
            "type": "string"
          },
          "webhook_url": {
            "type": "string",
            "example": "http://example.com/webhook"
          },
          "webhook_failover_url": {
            "type": "string",
            "example": "http://example.com/webhook/failover"
          },
          "daily_spend_limit_enabled": {
            "type": "boolean",
            "default": false,
            "description": "Whether the daily spend limit is enforced for this verify profile.",
            "example": true
          },
          "daily_spend_limit": {
            "type": "number",
            "minimum": 0,
            "description": "The maximum daily spend allowed on this verify profile, in USD.",
            "example": 100
          },
          "record_type": {
            "$ref": "#/components/schemas/VerificationProfileRecordType"
          },
          "created_at": {
            "example": "2020-09-14T17:03:32.965812",
            "type": "string"
          },
          "updated_at": {
            "example": "2020-09-14T17:03:32.965812",
            "type": "string"
          },
          "language": {
            "type": "string",
            "example": "en-US"
          },
          "sms": {
            "type": "object",
            "$ref": "#/components/schemas/VerifyProfileSMSResponse",
            "additionalProperties": true
          },
          "call": {
            "type": "object",
            "$ref": "#/components/schemas/VerifyProfileCallResponse",
            "additionalProperties": true
          },
          "flashcall": {
            "type": "object",
            "$ref": "#/components/schemas/VerifyProfileFlashcallResponse",
            "additionalProperties": true
          },
          "whatsapp": {
            "type": "object",
            "$ref": "#/components/schemas/VerifyProfileWhatsAppResponse",
            "additionalProperties": true
          }
        }
      },
      "VerifyProfileResponseDataWrapper": {
        "title": "VerifyProfileResponseDataWrapper",
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/VerifyProfileResponse",
            "additionalProperties": true
          }
        }
      },
      "VerifyProfileSMSResponse": {
        "title": "VerifyProfileSMSResponse",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "alpha_sender": {
            "description": "The alphanumeric sender ID to use when sending to destinations that require an alphanumeric sender ID.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[A-Za-z0-9 ]{1,11}$",
            "default": "Telnyx"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          }
        }
      },
      "VerifyProfileWhatsAppResponse": {
        "title": "VerifyProfileWhatsAppResponse",
        "type": "object",
        "properties": {
          "messaging_template_id": {
            "example": "0abb5b4f-459f-445a-bfcd-488998b7572d",
            "format": "uuid",
            "type": "string",
            "description": "The message template identifier selected from /verify_profiles/templates"
          },
          "app_name": {
            "example": "Example Secure App",
            "description": "The name that identifies the application requesting 2fa in the verification message.",
            "type": "string",
            "pattern": "^[A-Za-z0-9 -]{1,30}$"
          },
          "code_length": {
            "example": 6,
            "type": "integer",
            "description": "The length of the verify code to generate.",
            "default": 5
          },
          "whitelisted_destinations": {
            "description": "Enabled country destinations to send verification codes. The elements in the list must be valid ISO 3166-1 alpha-2 country codes. If set to `[\"*\"]`, all destinations will be allowed. **Conditionally required:** this field must be provided when your organization is configured to require explicit whitelisted destinations; otherwise it is optional.",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "description": "ISO 3166-1 alpha-2 country code",
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "default_verification_timeout_secs": {
            "example": 300,
            "description": "For every request that is initiated via this Verify profile, this sets the number of seconds before a verification request code expires. Once the verification request expires, the user cannot use the code to verify their identity.",
            "type": "integer",
            "default": 300
          },
          "waba_id": {
            "example": "1234567890",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer Meta WABA ID for Bring-Your-Own-WABA sending",
            "default": null
          },
          "sender_phone_number": {
            "example": "+13035551234",
            "type": [
              "string",
              "null"
            ],
            "description": "Phone number registered on the customer WABA to send OTPs from",
            "default": null
          },
          "template_id": {
            "example": "authentication_template_name",
            "type": [
              "string",
              "null"
            ],
            "description": "Customer pre-approved authentication template name registered on Meta",
            "default": null
          }
        }
      },
      "VerifyVerificationCodeRequestById": {
        "title": "VerifyVerificationCodeRequestById",
        "type": "object",
        "properties": {
          "code": {
            "example": "17686",
            "type": "string",
            "description": "This is the code the user submits for verification."
          },
          "status": {
            "enum": [
              "accepted",
              "rejected"
            ],
            "type": "string",
            "example": "accepted",
            "description": "Identifies if the verification code has been accepted or rejected. Only permitted if custom_code was used for the verification."
          }
        }
      },
      "VerifyVerificationCodeRequestByPhoneNumber": {
        "title": "VerifyVerificationCodeRequestByPhoneNumber",
        "required": [
          "code",
          "verify_profile_id"
        ],
        "type": "object",
        "properties": {
          "code": {
            "example": "17686",
            "type": "string",
            "description": "This is the code the user submits for verification."
          },
          "verify_profile_id": {
            "example": "12ade33a-21c0-473b-b055-b3c836e1c292",
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the associated Verify profile."
          }
        }
      },
      "VerifyVerificationCodeResponse": {
        "title": "VerifyVerificationCodeResponse",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "required": [
              "phone_number",
              "response_code"
            ],
            "type": "object",
            "properties": {
              "phone_number": {
                "example": "+13035551234",
                "type": "string",
                "description": "+E164 formatted phone number."
              },
              "response_code": {
                "enum": [
                  "accepted",
                  "rejected"
                ],
                "type": "string",
                "example": "accepted",
                "description": "Identifies if the verification code has been accepted or rejected."
              }
            }
          }
        }
      },
      "Vertical": {
        "title": "Vertical",
        "enum": [
          "AGRICULTURE",
          "COMMUNICATION",
          "CONSTRUCTION",
          "EDUCATION",
          "ENERGY",
          "ENTERTAINMENT",
          "FINANCIAL",
          "GAMBLING",
          "GOVERNMENT",
          "HEALTHCARE",
          "HOSPITALITY",
          "HUMAN_RESOURCES",
          "INSURANCE",
          "LEGAL",
          "MANUFACTURING",
          "NGO",
          "POLITICAL",
          "POSTAL",
          "PROFESSIONAL",
          "REAL_ESTATE",
          "RETAIL",
          "TECHNOLOGY",
          "TRANSPORTATION"
        ],
        "description": "Vertical or industry segment of the brand or campaign.",
        "example": "TECHNOLOGY",
        "type": "string"
      },
      "VideoRegion": {
        "type": "object",
        "properties": {
          "x_pos": {
            "description": "X axis value (in pixels) of the region's upper left corner relative to the upper left corner of the whole room composition viewport.",
            "type": "integer",
            "example": 100,
            "default": 0
          },
          "y_pos": {
            "description": "Y axis value (in pixels) of the region's upper left corner relative to the upper left corner of the whole room composition viewport.",
            "type": "integer",
            "example": 100,
            "default": 0
          },
          "z_pos": {
            "description": "Regions with higher z_pos values are stacked on top of regions with lower z_pos values",
            "type": "integer",
            "minimum": -99,
            "maximum": 99,
            "example": 1,
            "default": 0
          },
          "height": {
            "description": "Height of the video region",
            "type": "integer",
            "minimum": 16,
            "example": 360
          },
          "width": {
            "description": "Width of the video region",
            "type": "integer",
            "minimum": 16,
            "example": 480
          },
          "max_columns": {
            "description": "Maximum number of columns of the region's placement grid. By default, the region has as many columns as needed to layout all the specified video sources.",
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "example": 3
          },
          "max_rows": {
            "description": "Maximum number of rows of the region's placement grid. By default, the region has as many rows as needed to layout all the specified video sources.",
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "example": 3
          },
          "video_sources": {
            "description": "Array of video recording ids to be composed in the region. Can be \"*\" to specify all video recordings in the session",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "example": "7b61621f-62e0-4aad-ab11-9fd19e272e73"
            }
          }
        }
      },
      "VirtualCrossConnect": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "$ref": "#/components/schemas/Interface"
          },
          {
            "type": "object",
            "title": "VirtualCrossConnect",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "virtual_cross_connect"
              },
              "cloud_provider": {
                "type": "string",
                "enum": [
                  "aws",
                  "azure",
                  "gce"
                ],
                "description": "The Virtual Private Cloud with which you would like to establish a cross connect.",
                "example": "aws"
              },
              "cloud_provider_region": {
                "type": "string",
                "description": "The region where your Virtual Private Cloud hosts are located.<br /><br />The available regions can be found using the /virtual_cross_connect_regions endpoint.",
                "example": "us-east-1"
              },
              "bgp_asn": {
                "type": "number",
                "description": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value will be assigned by Telnyx.",
                "example": 1234
              },
              "bandwidth_mbps": {
                "type": "number",
                "description": "The desired throughput in Megabits per Second (Mbps) for your Virtual Cross Connect.<br /><br />The available bandwidths can be found using the /virtual_cross_connect_regions endpoint.",
                "example": 50
              },
              "primary_enabled": {
                "type": "boolean",
                "description": "Indicates whether the primary circuit is enabled. Setting this to `false` will disable the circuit.",
                "example": true,
                "readOnly": true
              },
              "primary_cloud_account_id": {
                "type": "string",
                "description": "The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.",
                "example": "123456789012"
              },
              "primary_telnyx_ip": {
                "type": "string",
                "description": "The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.",
                "example": "169.254.0.1"
              },
              "primary_cloud_ip": {
                "type": "string",
                "description": "The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.",
                "example": "169.254.0.2"
              },
              "primary_bgp_key": {
                "type": "string",
                "description": "The authentication key for BGP peer configuration.",
                "example": "yFV4wEPtPVPfDUGLWiyQzwga"
              },
              "secondary_enabled": {
                "type": "boolean",
                "description": "Indicates whether the secondary circuit is enabled. Setting this to `false` will disable the circuit.",
                "example": true,
                "readOnly": true
              },
              "secondary_cloud_account_id": {
                "type": "string",
                "description": "The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.<br /><br />This attribute is only necessary for GCE.",
                "example": ""
              },
              "secondary_telnyx_ip": {
                "type": "string",
                "description": "The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.",
                "example": "169.254.0.3"
              },
              "secondary_cloud_ip": {
                "type": "string",
                "description": "The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.",
                "example": "169.254.0.4"
              },
              "secondary_bgp_key": {
                "type": "string",
                "description": "The authentication key for BGP peer configuration.",
                "example": "ge1lONeK9RcA83uuWaw9DvZy"
              }
            }
          }
        ]
      },
      "VirtualCrossConnectCombined": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualCrossConnectCreate"
          },
          {
            "$ref": "#/components/schemas/VirtualCrossConnectPatch"
          },
          {
            "$ref": "#/components/schemas/RegionOut"
          }
        ]
      },
      "VirtualCrossConnectCoverage": {
        "allOf": [
          {
            "type": "object",
            "title": "VirtualCrossConnectCoverage",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "virtual_cross_connects_coverage"
              },
              "location": {
                "$ref": "#/components/schemas/netapps_Location"
              },
              "cloud_provider": {
                "type": "string",
                "enum": [
                  "aws",
                  "azure",
                  "gce"
                ],
                "description": "The Virtual Private Cloud with which you would like to establish a cross connect.",
                "example": "aws"
              },
              "cloud_provider_region": {
                "type": "string",
                "description": "The region where your Virtual Private Cloud hosts are located. Should be identical to how the cloud provider names region, i.e. us-east-1 for AWS but Frankfurt for Azure",
                "example": "us-east-1"
              },
              "available_bandwidth": {
                "type": "array",
                "description": "The available throughput in Megabits per Second (Mbps) for your Virtual Cross Connect.",
                "items": {
                  "type": "number"
                },
                "example": [
                  50,
                  100,
                  200,
                  500
                ]
              }
            }
          }
        ]
      },
      "VirtualCrossConnectCreate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VirtualCrossConnect"
          },
          {
            "$ref": "#/components/schemas/RegionIn"
          },
          {
            "type": "object",
            "title": "VirtualCrossConnectCreate",
            "required": [
              "network_id",
              "region_code",
              "cloud_provider",
              "cloud_provider_region",
              "bgp_asn",
              "primary_cloud_account_id"
            ]
          }
        ]
      },
      "VirtualCrossConnectPatch": {
        "allOf": [
          {
            "type": "object",
            "title": "VirtualCrossConnectPatch",
            "properties": {
              "primary_enabled": {
                "type": "boolean",
                "description": "Indicates whether the primary circuit is enabled. Setting this to `false` will disable the circuit.",
                "example": true
              },
              "primary_routing_announcement": {
                "description": "Whether the primary BGP route is being announced.",
                "type": "boolean",
                "example": false
              },
              "primary_cloud_ip": {
                "type": "string",
                "description": "The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value can not be patched once the VXC has bene provisioned.",
                "example": "169.254.0.2"
              },
              "secondary_enabled": {
                "type": "boolean",
                "description": "Indicates whether the secondary circuit is enabled. Setting this to `false` will disable the circuit.",
                "example": true
              },
              "secondary_routing_announcement": {
                "description": "Whether the secondary BGP route is being announced.",
                "type": "boolean",
                "example": false
              },
              "secondary_cloud_ip": {
                "type": "string",
                "description": "The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value can not be patched once the VXC has bene provisioned.",
                "example": "169.254.0.4"
              }
            }
          }
        ]
      },
      "Voice": {
        "type": "object",
        "description": "A voice available for text-to-speech synthesis.",
        "properties": {
          "provider": {
            "type": "string",
            "description": "The TTS provider."
          },
          "name": {
            "type": "string",
            "description": "Voice name."
          },
          "voice_id": {
            "type": "string",
            "description": "Voice identifier."
          },
          "language": {
            "type": "string",
            "description": "Language code."
          },
          "gender": {
            "type": "string",
            "description": "Voice gender."
          }
        }
      },
      "VoiceCloneData": {
        "type": "object",
        "description": "A voice clone object.",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "voice_clone"
            ],
            "description": "Identifies the resource type."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the voice clone."
          },
          "source_voice_design_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "UUID of the source voice design. `null` for upload-based clones."
          },
          "source_voice_design_version": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Version of the source voice design used. `null` for upload-based clones."
          },
          "name": {
            "type": "string",
            "description": "Name of the voice clone."
          },
          "language": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO 639-1 language code of the voice clone."
          },
          "gender": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "male",
              "female",
              "neutral",
              null
            ],
            "description": "Gender of the voice clone."
          },
          "label": {
            "type": [
              "string",
              "null"
            ],
            "description": "Voice style description. If not explicitly set on upload, falls back to the source design's prompt text."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice clone was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice clone was last updated."
          },
          "provider": {
            "type": "string",
            "enum": [
              "telnyx",
              "minimax",
              "Telnyx",
              "Minimax"
            ],
            "description": "Voice synthesis provider used for this clone."
          },
          "provider_supported_models": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of TTS model identifiers supported by this clone's provider."
          },
          "provider_voice_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Provider-specific voice identifier used for TTS synthesis. May differ from the clone UUID depending on the provider and model."
          },
          "model_id": {
            "type": "string",
            "enum": [
              "Qwen3TTS",
              "Ultra",
              "speech-2.8-turbo"
            ],
            "description": "TTS model identifier for the voice clone."
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "pending",
              "failed",
              "expired"
            ],
            "description": "Clone status. pending for Ultra clones while on-prem import is in progress, active once ready, failed if verification timed out, expired if not kept alive."
          }
        }
      },
      "VoiceCloneListResponse": {
        "type": "object",
        "description": "Paginated list of voice clones.",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoiceCloneData"
            },
            "description": "Array of voice clone objects."
          },
          "meta": {
            "$ref": "#/components/schemas/voice-designs_PaginationMeta"
          }
        }
      },
      "VoiceCloneRequest": {
        "description": "Request body for creating a voice clone from an existing voice design.",
        "discriminator": {
          "propertyName": "provider",
          "mapping": {
            "telnyx": "#/components/schemas/TelnyxDesignClone",
            "Telnyx": "#/components/schemas/TelnyxDesignClone",
            "minimax": "#/components/schemas/MinimaxDesignClone",
            "Minimax": "#/components/schemas/MinimaxDesignClone"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/TelnyxDesignClone"
          },
          {
            "$ref": "#/components/schemas/MinimaxDesignClone"
          }
        ]
      },
      "VoiceCloneResponse": {
        "type": "object",
        "description": "Response envelope for a single voice clone.",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/VoiceCloneData"
          }
        },
        "example": {
          "data": {
            "record_type": "voice_clone",
            "id": "660f9511-f3ac-52e5-b827-557766551111",
            "source_voice_design_id": "550e8400-e29b-41d4-a716-446655440000",
            "source_voice_design_version": 1,
            "name": "clone-narrator",
            "language": "en",
            "gender": "male",
            "label": "Speak in a warm, friendly tone",
            "created_at": "2024-01-01T00:00:00Z",
            "updated_at": "2024-01-01T00:00:00Z",
            "provider": "Telnyx",
            "provider_supported_models": [
              "Qwen3TTS"
            ],
            "provider_voice_id": "660f9511-f3ac-52e5-b827-557766551111",
            "model_id": "Qwen3TTS",
            "status": "active"
          }
        }
      },
      "VoiceCloneUpdateRequest": {
        "type": "object",
        "description": "Request body for updating a voice clone.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "New name for the voice clone."
          },
          "language": {
            "type": "string",
            "description": "Updated ISO 639-1 language code or `auto`."
          },
          "gender": {
            "type": "string",
            "enum": [
              "male",
              "female",
              "neutral"
            ],
            "description": "Updated gender for the voice clone."
          }
        },
        "example": {
          "name": "updated-clone"
        }
      },
      "VoiceCloneUploadRequest": {
        "description": "Multipart form data for creating a voice clone from a direct audio upload. Maximum file size: 5MB for Telnyx, 20MB for Minimax.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/TelnyxQwen3TTSClone"
          },
          {
            "$ref": "#/components/schemas/TelnyxUltraClone"
          },
          {
            "$ref": "#/components/schemas/MinimaxClone"
          }
        ]
      },
      "VoiceConfig": {
        "description": "The voice to be used by the voice assistant. Currently we support ElevenLabs, Telnyx and AWS voices.\n\n **Supported Providers:**\n- **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.\n- **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural, Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural, Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)\n- **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration secret under `\"voice_settings\": {\"api_key_ref\": \"<secret_id>\"}`. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](https://elevenlabs.io/docs/api-reference/get-voices).\n - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`\n- **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.\n- **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`, `ara`, `rex`, `sal`, `leo`.",
        "type": "string",
        "default": "Telnyx.KokoroTTS.af",
        "example": "Telnyx.KokoroTTS.af"
      },
      "VoiceDesignData": {
        "type": "object",
        "description": "A voice design object with full version detail.",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "voice_design"
            ],
            "description": "Identifies the resource type."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the voice design."
          },
          "name": {
            "type": "string",
            "description": "Name of the voice design."
          },
          "version": {
            "type": "integer",
            "description": "Version number of this voice design."
          },
          "text": {
            "type": "string",
            "description": "Sample text used to synthesize this version."
          },
          "prompt": {
            "type": "string",
            "description": "Natural language prompt used to define the voice style for this version."
          },
          "voice_sample_size": {
            "type": "integer",
            "description": "Size of the voice sample audio in bytes."
          },
          "version_created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when this specific version was created."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice design was first created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice design was last updated."
          },
          "provider": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "telnyx",
              "minimax",
              "Telnyx",
              "Minimax",
              null
            ],
            "description": "Voice synthesis provider used for this design."
          },
          "provider_supported_models": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of TTS model identifiers supported by this design's provider (e.g. `Qwen3TTS`, `speech-02-turbo`)."
          },
          "provider_voice_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Provider-specific voice identifier. For Telnyx designs this is the design version ID; for Minimax it is the Minimax-assigned voice ID."
          }
        }
      },
      "VoiceDesignListResponse": {
        "type": "object",
        "description": "Paginated list of voice designs.",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoiceDesignSummaryData"
            },
            "description": "Array of voice design summary objects."
          },
          "meta": {
            "$ref": "#/components/schemas/voice-designs_PaginationMeta"
          }
        }
      },
      "VoiceDesignRequest": {
        "type": "object",
        "description": "Request body for creating a new voice design or adding a version to an existing one. Omit `voice_design_id` to create a new design; include it to add a new version.",
        "required": [
          "text",
          "prompt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Name for the voice design. Required when creating a new design (`voice_design_id` is not provided); ignored when adding a version. Cannot be a UUID."
          },
          "voice_design_id": {
            "type": "string",
            "format": "uuid",
            "description": "ID of an existing voice design to add a new version to. When provided, a new version is created instead of a new design."
          },
          "text": {
            "type": "string",
            "description": "Sample text to synthesize for this voice design."
          },
          "prompt": {
            "type": "string",
            "description": "Natural language description of the voice style, e.g. 'Speak in a warm, friendly tone with a slight British accent'."
          },
          "language": {
            "type": "string",
            "default": "Auto",
            "description": "Language for synthesis. Supported values: Auto, Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian. Defaults to Auto."
          },
          "temperature": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "maximum": 2,
            "description": "Sampling temperature controlling randomness. Higher values produce more varied output. Default: 0.9."
          },
          "top_k": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Top-k sampling parameter — limits the token vocabulary considered at each step. Default: 50."
          },
          "top_p": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "maximum": 1,
            "description": "Top-p (nucleus) sampling parameter — cumulative probability cutoff for token selection. Default: 1.0."
          },
          "repetition_penalty": {
            "type": "number",
            "format": "float",
            "minimum": 1,
            "maximum": 2,
            "description": "Repetition penalty to reduce repeated patterns in generated audio. Default: 1.05."
          },
          "max_new_tokens": {
            "type": "integer",
            "minimum": 100,
            "maximum": 4096,
            "description": "Maximum number of tokens to generate. Default: 2048."
          },
          "provider": {
            "type": "string",
            "enum": [
              "telnyx",
              "minimax",
              "Telnyx",
              "Minimax"
            ],
            "default": "telnyx",
            "description": "Voice synthesis provider. `telnyx` uses the Qwen3TTS model; `minimax` uses the Minimax speech models. Case-insensitive. Defaults to `telnyx`."
          }
        },
        "example": {
          "name": "friendly-narrator",
          "text": "Hello, welcome to our service.",
          "prompt": "Speak in a warm, friendly tone",
          "language": "Auto",
          "provider": "telnyx"
        }
      },
      "VoiceDesignResponse": {
        "type": "object",
        "description": "Response envelope for a single voice design with full version detail.",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/VoiceDesignData"
          }
        },
        "example": {
          "data": {
            "record_type": "voice_design",
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "name": "friendly-narrator",
            "version": 1,
            "text": "Hello, welcome.",
            "prompt": "Speak in a warm tone",
            "voice_sample_size": 48000,
            "version_created_at": "2024-01-01T00:00:00Z",
            "created_at": "2024-01-01T00:00:00Z",
            "updated_at": "2024-01-01T00:00:00Z",
            "provider": "Telnyx",
            "provider_supported_models": [
              "Qwen3TTS"
            ],
            "provider_voice_id": "550e8400-e29b-41d4-a716-446655440000"
          }
        }
      },
      "VoiceDesignSummaryData": {
        "type": "object",
        "description": "A summarized voice design object (without version-specific fields).",
        "properties": {
          "record_type": {
            "type": "string",
            "enum": [
              "voice_design"
            ],
            "description": "Identifies the resource type."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the voice design."
          },
          "name": {
            "type": "string",
            "description": "Name of the voice design."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice design was first created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the voice design was last updated."
          },
          "provider": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "telnyx",
              "minimax",
              "Telnyx",
              "Minimax",
              null
            ],
            "description": "Voice synthesis provider used for this design."
          },
          "provider_supported_models": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of TTS model identifiers supported by this design's provider."
          }
        }
      },
      "VoiceDesignUpdateRequest": {
        "type": "object",
        "description": "Request body for renaming a voice design.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "New name for the voice design."
          }
        },
        "example": {
          "name": "updated-narrator"
        }
      },
      "VoiceDesignUpdatedResponse": {
        "type": "object",
        "description": "Response envelope for a voice design after a rename operation (no version-specific fields).",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/VoiceDesignSummaryData"
          }
        },
        "example": {
          "data": {
            "record_type": "voice_design",
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "name": "updated-narrator",
            "created_at": "2024-01-01T00:00:00Z",
            "updated_at": "2024-01-02T00:00:00Z"
          }
        }
      },
      "VoiceSettings": {
        "properties": {
          "voice": {
            "type": "string",
            "description": "The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart).\nThe voice portion of the identifier supports [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) using mustache syntax (e.g. `Telnyx.Ultra.{{voice_id}}`). The variable is resolved at call time from your dynamic variables webhook, allowing you to select the voice dynamically per call."
          },
          "voice_speed": {
            "type": "number",
            "default": 1,
            "description": "The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices."
          },
          "api_key_ref": {
            "type": "string",
            "description": "The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration."
          },
          "temperature": {
            "type": "number",
            "default": 0.5,
            "description": "Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs."
          },
          "similarity_boost": {
            "type": "number",
            "default": 0.75,
            "description": "Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs."
          },
          "use_speaker_boost": {
            "type": "boolean",
            "default": true,
            "description": "Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs."
          },
          "style": {
            "type": "number",
            "default": 0,
            "description": "Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs."
          },
          "speed": {
            "type": "number",
            "default": 1,
            "description": "Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs."
          },
          "language_boost": {
            "type": [
              "string",
              "null"
            ],
            "description": "Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.",
            "enum": [
              null,
              "auto",
              "Chinese",
              "Chinese,Yue",
              "English",
              "Arabic",
              "Russian",
              "Spanish",
              "French",
              "Portuguese",
              "German",
              "Turkish",
              "Dutch",
              "Ukrainian",
              "Vietnamese",
              "Indonesian",
              "Japanese",
              "Italian",
              "Korean",
              "Thai",
              "Polish",
              "Romanian",
              "Greek",
              "Czech",
              "Finnish",
              "Hindi",
              "Bulgarian",
              "Danish",
              "Hebrew",
              "Malay",
              "Persian",
              "Slovak",
              "Swedish",
              "Croatian",
              "Filipino",
              "Hungarian",
              "Norwegian",
              "Slovenian",
              "Catalan",
              "Nynorsk",
              "Tamil",
              "Afrikaans"
            ],
            "default": null
          },
          "expressive_mode": {
            "type": "boolean",
            "default": false,
            "description": "Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices."
          },
          "background_audio": {
            "description": "Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.",
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "predefined_media"
                    ],
                    "description": "Select from predefined media options."
                  },
                  "value": {
                    "type": "string",
                    "enum": [
                      "silence",
                      "office"
                    ],
                    "default": "silence",
                    "description": "The predefined media to use. `silence` disables background audio."
                  },
                  "volume": {
                    "type": "number",
                    "minimum": 0.1,
                    "maximum": 1,
                    "multipleOf": 0.1,
                    "default": 1,
                    "description": "Volume level for the predefined background audio. Supports values from 0.1 to 1.0 in 0.1 increments."
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "media_url"
                    ],
                    "description": "Provide a direct URL to an MP3 file. The audio will loop during the call."
                  },
                  "value": {
                    "type": "string",
                    "format": "uri",
                    "description": "HTTPS URL to an MP3 file."
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "media_name"
                    ],
                    "description": "Reference a previously uploaded media by its name from Telnyx Media Storage."
                  },
                  "value": {
                    "type": "string",
                    "description": "The `name` of a media asset created via [Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage). The audio will loop during the call."
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "voice"
        ]
      },
      "VoicemailPrefResponse": {
        "type": "object",
        "example": {
          "enabled": true,
          "pin": "1234"
        },
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether voicemail is enabled."
          },
          "pin": {
            "type": "string",
            "example": "1234",
            "description": "The pin used for the voicemail."
          }
        }
      },
      "VoicemailRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "example": "1234",
            "description": "The pin used for voicemail"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether voicemail is enabled."
          }
        }
      },
      "VoicesResponse": {
        "type": "object",
        "description": "List of available voices.",
        "properties": {
          "voices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voice"
            }
          }
        }
      },
      "Volume": {
        "title": "Volume",
        "enum": [
          "10",
          "100",
          "1,000",
          "10,000",
          "100,000",
          "250,000",
          "500,000",
          "750,000",
          "1,000,000",
          "5,000,000",
          "10,000,000+"
        ],
        "type": "string",
        "description": "Message Volume Enums"
      },
      "WabaResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Internal ID of Whatsapp business account"
          },
          "record_type": {
            "type": "string",
            "example": "whatsapp_business_account"
          },
          "name": {
            "type": "string",
            "description": "Name of Whatsapp business account"
          },
          "waba_id": {
            "type": "string",
            "description": "WABA ID of Whatsapp business account"
          },
          "status": {
            "type": "string",
            "description": "Status of Whatsapp business account"
          },
          "phone_numbers_count": {
            "type": "integer",
            "description": "Count of phone numbers associated with Whatsapp business account"
          },
          "business_verification_status": {
            "type": "string",
            "description": "Business verification status of Whatsapp business account"
          },
          "account_review_status": {
            "type": "string",
            "description": "Account review status of Whatsapp business account"
          },
          "country": {
            "type": "string",
            "description": "Country associated with Whatsapp business account"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WabaSettings": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Internal ID of Whatsapp business account"
          },
          "record_type": {
            "type": "string",
            "example": "whatsapp_business_account_settings"
          },
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": "string",
            "example": "America/Chicago"
          },
          "webhook_url": {
            "type": "string",
            "format": "url",
            "description": "URL to receive Whatsapp events"
          },
          "webhook_failover_url": {
            "type": "string",
            "format": "url",
            "description": "Failover URL to receive Whatsapp events"
          },
          "webhook_enabled": {
            "type": "boolean",
            "description": "Enable/disable receiving Whatsapp events"
          },
          "webhook_events": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Whatsapp event to subscribe to"
            }
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WdrReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "readOnly": true,
            "example": "detail_records_report"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "start_time": {
            "description": "ISO 8601 formatted date-time indicating the start time.",
            "type": "string",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "end_time": {
            "description": "ISO 8601 formatted date-time indicating the end time.",
            "type": "string",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "status": {
            "description": "Indicates the status of the report, which is updated asynchronously.",
            "type": "string",
            "enum": [
              "pending",
              "complete",
              "failed",
              "deleted"
            ],
            "example": "pending"
          },
          "report_url": {
            "description": "The URL where the report content, when generated, will be published to.",
            "type": "string",
            "example": "http://example.com"
          }
        }
      },
      "WdrReportRequest": {
        "type": "object",
        "properties": {
          "start_time": {
            "description": "ISO 8601 formatted date-time indicating the start time.",
            "type": "string",
            "example": "2018-02-02T22:25:27.521Z"
          },
          "end_time": {
            "description": "ISO 8601 formatted date-time indicating the end time.",
            "type": "string",
            "example": "2018-02-02T22:25:27.521Z"
          }
        },
        "example": {
          "start_time": "2018-02-02T22:25:27.521Z",
          "end_time": "2018-02-02T22:25:27.521Z"
        }
      },
      "WebhookApiVersion": {
        "title": "Webhook API Version",
        "description": "Determines which webhook format will be used, Telnyx API v1 or v2.",
        "type": "string",
        "enum": [
          "1",
          "2"
        ],
        "default": "1",
        "example": "1"
      },
      "WebhookEventFailoverUrl": {
        "title": "Webhook Event Failover URL",
        "description": "The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.",
        "type": [
          "string",
          "null"
        ],
        "format": "uri",
        "default": "",
        "example": "https://failover.example.com"
      },
      "WebhookEventUrl": {
        "title": "Webhook Event URL",
        "description": "The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'.",
        "type": "string",
        "format": "uri",
        "example": "https://example.com"
      },
      "WebhookPortoutFocDateChanged": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "portout.status_changed",
              "portout.foc_date_changed",
              "portout.new_comment"
            ],
            "example": "portout.status_changed"
          },
          "portout_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the port-out order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the portout.foc_date_changed event",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the port-out order that have the FOC date changed."
              },
              "user_id": {
                "type": "string",
                "description": "Identifies the organization that port-out order belongs to.",
                "example": "0e19c89e-f0ce-458a-a36c-3c60bc2014b1"
              },
              "foc_date": {
                "type": "string",
                "description": "ISO 8601 formatted date indicating the new FOC date.",
                "example": "2021-03-19T10:07:15.527Z",
                "format": "date-time"
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "portout_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "WebhookPortoutNewComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "portout.status_changed",
              "portout.foc_date_changed",
              "portout.new_comment"
            ],
            "example": "portout.status_changed"
          },
          "portout_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the port-out order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the portout.new_comment event",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the comment that was added to the port-out order."
              },
              "portout_id": {
                "type": "string",
                "format": "uuid",
                "example": "d26109e5-0605-4671-a235-d3c649cc8406",
                "description": "Identifies the port-out order that the comment was added to."
              },
              "user_id": {
                "type": "string",
                "format": "uuid",
                "example": "1c45c968-c2e0-4559-b1dd-db073962fc61",
                "description": "Identifies the user that added the comment."
              },
              "comment": {
                "type": "string",
                "description": "The body of the comment.",
                "example": "This is a comment."
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "portout_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "WebhookPortoutStatusChanged": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Uniquely identifies the event.",
            "format": "uuid",
            "example": "eef3340b-8903-4466-b445-89b697315a3a"
          },
          "event_type": {
            "type": "string",
            "description": "Identifies the event type",
            "enum": [
              "portout.status_changed",
              "portout.foc_date_changed",
              "portout.new_comment"
            ],
            "example": "portout.status_changed"
          },
          "portout_id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the port-out order associated with the event.",
            "example": "9471c873-e3eb-4ca1-957d-f9a451334d52"
          },
          "available_notification_methods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "webhook"
              ]
            },
            "description": "Indicates the notification methods used."
          },
          "payload_status": {
            "type": "string",
            "description": "The status of the payload generation.",
            "enum": [
              "created",
              "completed"
            ],
            "example": "created"
          },
          "payload": {
            "type": "object",
            "description": "The webhook payload for the portout.status_changed event",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c",
                "description": "Identifies the port out that was moved."
              },
              "status": {
                "type": "string",
                "description": "The new status of the port out.",
                "enum": [
                  "pending",
                  "authorized",
                  "ported",
                  "rejected",
                  "rejected-pending",
                  "canceled"
                ],
                "example": "authorized"
              },
              "phone_numbers": {
                "type": "array",
                "description": "Phone numbers associated with this port-out order",
                "items": {
                  "type": "string",
                  "description": "E164 formatted phone number"
                },
                "example": [
                  "+35312345678"
                ]
              },
              "carrier_name": {
                "type": "string",
                "description": "Carrier the number will be ported out to",
                "example": "Testing Carrier"
              },
              "spid": {
                "type": "string",
                "description": "The new carrier SPID.",
                "example": "987H"
              },
              "user_id": {
                "type": "string",
                "format": "uuid",
                "description": "Identifies the user that the port-out order belongs to.",
                "example": "96dfa9e4-c753-4fd3-97cd-42d66f26cf0c"
              },
              "subscriber_name": {
                "type": "string",
                "description": "The name of the port-out's end user.",
                "example": "John Doe"
              },
              "rejection_reason": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The reason why the order is being rejected by the user. If the order is authorized, this field can be left null",
                "example": null
              },
              "attempted_pin": {
                "type": "string",
                "description": "The PIN that was attempted to be used to authorize the port out.",
                "example": "1234"
              }
            }
          },
          "record_type": {
            "type": "string",
            "example": "portout_event",
            "description": "Identifies the type of the resource.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was created.",
            "example": "2021-03-19T10:07:15.527000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 formatted date indicating when the resource was updated.",
            "example": "2021-03-19T10:07:15.527000Z"
          }
        }
      },
      "WebhookTimeoutSecs": {
        "title": "Webhook Timeout Secs",
        "type": [
          "integer",
          "null"
        ],
        "description": "Specifies how many seconds to wait before timing out a webhook.",
        "minimum": 0,
        "maximum": 30,
        "default": null,
        "example": 25
      },
      "WebhookTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "webhook"
            ]
          },
          "webhook": {
            "$ref": "#/components/schemas/CallControlWebhookToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "webhook"
        ],
        "title": "WebhookTool"
      },
      "WebhookToolParams": {
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tool."
          },
          "description": {
            "type": "string",
            "description": "The description of the tool."
          },
          "url": {
            "description": "The URL of the external tool to be called. This URL is going to be used by the assistant. The URL can be templated like: `https://example.com/api/v1/{id}`, where `{id}` is a placeholder for a value that will be provided by the assistant if `path_parameters` are provided with the `id` attribute.",
            "type": "string",
            "example": "https://example.com/api/v1/function"
          },
          "method": {
            "description": "The HTTP method to be used when calling the external tool.",
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "DELETE",
              "PATCH"
            ],
            "default": "POST"
          },
          "headers": {
            "description": "The headers to be sent to the external tool.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "description": "The value of the header. Note that we support mustache templating for the value. For example you can use `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret as the bearer token. [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks) will be automatically added to the request.",
                  "type": "string"
                }
              }
            }
          },
          "body_parameters": {
            "description": "The body parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the body of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the body parameters.",
                "type": "object",
                "additionalProperties": true
              },
              "required": {
                "description": "The required properties of the body parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "age": {
                  "description": "The age of the customer.",
                  "type": "integer"
                },
                "location": {
                  "description": "The location of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "age",
                "location"
              ],
              "type": "object"
            }
          },
          "path_parameters": {
            "description": "The path parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the path of the request if the URL contains a placeholder for a value. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the path parameters.",
                "type": "object",
                "additionalProperties": true
              },
              "required": {
                "description": "The required properties of the path parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "id": {
                  "description": "The id of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            }
          },
          "query_parameters": {
            "description": "The query parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the query of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
            "type": "object",
            "properties": {
              "properties": {
                "description": "The properties of the query parameters.",
                "type": "object",
                "additionalProperties": true
              },
              "required": {
                "description": "The required properties of the query parameters.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              }
            },
            "example": {
              "properties": {
                "page": {
                  "description": "The page number.",
                  "type": "integer"
                }
              },
              "required": [
                "page"
              ],
              "type": "object"
            }
          },
          "async": {
            "type": "boolean",
            "default": false,
            "description": "If async, the assistant will move forward without waiting for your server to respond."
          },
          "async_timeout_ms": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15000,
            "description": "Maximum time in milliseconds that the conversation worker waits for an async webhook response before returning \"Submitted\" to the LLM. If unset, the platform default (currently 300ms) is used."
          },
          "timeout_ms": {
            "type": "integer",
            "minimum": 500,
            "maximum": 10000,
            "description": "The maximum number of milliseconds to wait for the webhook to respond. Only applicable when async is false."
          },
          "store_fields_as_variables": {
            "type": "array",
            "description": "A list of mappings that extract values from the webhook response and store them as dynamic variables. Each mapping specifies a dynamic variable name and a dot-notation path to the value in the response body.",
            "items": {
              "type": "object",
              "required": [
                "name",
                "value_path"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the dynamic variable to store the extracted value in."
                },
                "value_path": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A dot-notation path to the value in the webhook response body (e.g. 'customer.name' or 'id')."
                }
              },
              "additionalProperties": false
            }
          }
        },
        "type": "object",
        "required": [
          "url",
          "name",
          "description"
        ],
        "title": "WebhookToolParams"
      },
      "WhatsappCallingSettingsData": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "whatsapp_calling_settings"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number in E164 format"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "enabled": {
            "type": "boolean",
            "description": "True if calling is enabled on the phone"
          }
        }
      },
      "WhatsappContact": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "street": {
                  "type": "string"
                },
                "city": {
                  "type": "string"
                },
                "state": {
                  "type": "string"
                },
                "zip": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                },
                "country_code": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                }
              }
            }
          },
          "birthday": {
            "type": "string"
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                }
              }
            }
          },
          "name": {
            "type": "string"
          },
          "org": {
            "type": "object",
            "properties": {
              "company": {
                "type": "string"
              },
              "department": {
                "type": "string"
              },
              "title": {
                "type": "string"
              }
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "x-format": "E+164"
                },
                "type": {
                  "type": "string"
                },
                "wa_id": {
                  "type": "string"
                }
              }
            }
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "url"
                },
                "type": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "WhatsappCreateTemplateRequest": {
        "type": "object",
        "required": [
          "waba_id",
          "name",
          "category",
          "language",
          "components"
        ],
        "properties": {
          "waba_id": {
            "type": "string",
            "description": "The WhatsApp Business Account ID."
          },
          "name": {
            "type": "string",
            "description": "Template name. Lowercase letters, numbers, and underscores only."
          },
          "category": {
            "type": "string",
            "enum": [
              "MARKETING",
              "UTILITY",
              "AUTHENTICATION"
            ],
            "description": "Template category: AUTHENTICATION, UTILITY, or MARKETING."
          },
          "language": {
            "type": "string",
            "description": "Template language code (e.g. en_US, es, pt_BR)."
          },
          "components": {
            "type": "array",
            "description": "Template components defining message structure. Passed through to Meta Graph API. Templates with variables must include example values. Supports HEADER, BODY, FOOTER, BUTTONS, CAROUSEL and any future Meta component types.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WhatsappTemplateHeaderComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateBodyComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateFooterComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateButtonsComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateCarouselComponent"
                }
              ],
              "description": "A template component. Additional Meta component types not listed here are also accepted."
            }
          }
        }
      },
      "WhatsappInteractive": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "cta_url",
              "list",
              "carousel",
              "button",
              "location_request_message"
            ]
          },
          "action": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "button": {
                "type": "string"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "reply"
                      ]
                    },
                    "reply": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string",
                          "description": "button label, 20 character maximum"
                        },
                        "id": {
                          "type": "string",
                          "description": "unique identifier for each button, 256 character maximum"
                        }
                      }
                    }
                  }
                }
              },
              "catalog_id": {
                "type": "string"
              },
              "product_retailer_id": {
                "type": "string"
              },
              "sections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "product_items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "product_retailer_id": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "rows": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "arbitrary string identifying the row, 200 character maximum"
                          },
                          "title": {
                            "type": "string",
                            "description": "row title, 24 character maximum"
                          },
                          "description": {
                            "type": "string",
                            "description": "row description, 72 character maximum"
                          }
                        }
                      }
                    },
                    "title": {
                      "type": "string",
                      "description": "section title, 24 character maximum"
                    }
                  }
                }
              },
              "mode": {
                "type": "string"
              },
              "parameters": {
                "type": "object",
                "properties": {
                  "display_text": {
                    "type": "string",
                    "description": "button label text, 20 character maximum"
                  },
                  "url": {
                    "type": "string",
                    "format": "url",
                    "description": "button URL to load when tapped by the user"
                  }
                }
              },
              "cards": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "card_index": {
                      "type": "integer",
                      "description": "unique index for each card (0-9)"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "cta_url"
                      ]
                    },
                    "header": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "image",
                            "video"
                          ]
                        },
                        "image": {
                          "$ref": "#/components/schemas/WhatsappMedia"
                        },
                        "video": {
                          "$ref": "#/components/schemas/WhatsappMedia"
                        }
                      }
                    },
                    "body": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "description": "160 character maximum, up to 2 line breaks"
                        }
                      }
                    },
                    "action": {
                      "type": "object",
                      "properties": {
                        "product_retailer_id": {
                          "type": "string",
                          "description": "the unique retailer ID of the product"
                        },
                        "catalog_id": {
                          "type": "string",
                          "description": "the unique ID of the catalog"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "body": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "description": "body text, 1024 character maximum"
              }
            }
          },
          "footer": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "description": "footer text, 60 character maximum"
              }
            }
          },
          "header": {
            "type": "object",
            "properties": {
              "document": {
                "$ref": "#/components/schemas/WhatsappMedia"
              },
              "image": {
                "$ref": "#/components/schemas/WhatsappMedia"
              },
              "video": {
                "$ref": "#/components/schemas/WhatsappMedia"
              },
              "text": {
                "type": "string",
                "description": "header text, 60 character maximum"
              },
              "sub_text": {
                "type": "string"
              }
            }
          }
        }
      },
      "WhatsappLocation": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "string"
          },
          "longitude": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          }
        }
      },
      "WhatsappMedia": {
        "type": "object",
        "properties": {
          "link": {
            "type": "string",
            "description": "media URL",
            "format": "url",
            "example": "http://example.com/media.jpg"
          },
          "caption": {
            "type": "string",
            "description": "media caption"
          },
          "filename": {
            "type": "string",
            "description": "file name with extension"
          },
          "voice": {
            "type": "boolean",
            "description": "true if voice message"
          }
        }
      },
      "WhatsappMessage": {
        "required": [
          "from",
          "to",
          "whatsapp_message"
        ],
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Phone number in +E.164 format associated with Whatsapp account",
            "example": "+13125551234"
          },
          "to": {
            "type": "string",
            "description": "Phone number in +E.164 format",
            "example": "+13125551234"
          },
          "whatsapp_message": {
            "$ref": "#/components/schemas/WhatsappMessageContent"
          },
          "type": {
            "type": "string",
            "description": "Message type - must be set to \"WHATSAPP\"",
            "example": "WHATSAPP",
            "enum": [
              "WHATSAPP"
            ]
          },
          "webhook_url": {
            "description": "The URL where webhooks related to this message will be sent.",
            "type": "string",
            "format": "url"
          },
          "messaging_profile_id": {
            "description": "Messaging profile ID - required if the 'from' number is not SMS-enabled",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "WhatsappMessageContent": {
        "type": "object",
        "properties": {
          "audio": {
            "$ref": "#/components/schemas/WhatsappMedia"
          },
          "document": {
            "$ref": "#/components/schemas/WhatsappMedia"
          },
          "image": {
            "$ref": "#/components/schemas/WhatsappMedia"
          },
          "sticker": {
            "$ref": "#/components/schemas/WhatsappMedia"
          },
          "video": {
            "$ref": "#/components/schemas/WhatsappMedia"
          },
          "interactive": {
            "$ref": "#/components/schemas/WhatsappInteractive"
          },
          "location": {
            "$ref": "#/components/schemas/WhatsappLocation"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WhatsappContact"
            }
          },
          "reaction": {
            "$ref": "#/components/schemas/WhatsappReaction"
          },
          "biz_opaque_callback_data": {
            "type": "string",
            "description": "custom data to return with status update"
          },
          "type": {
            "type": "string",
            "enum": [
              "audio",
              "document",
              "image",
              "sticker",
              "video",
              "interactive",
              "location",
              "template",
              "reaction",
              "contacts",
              "text"
            ]
          },
          "text": {
            "type": "object",
            "description": "Text message content. Can only be sent within a 24-hour customer service window.",
            "properties": {
              "body": {
                "type": "string",
                "description": "The text message body.",
                "example": "Hello from Telnyx!"
              },
              "preview_url": {
                "type": "boolean",
                "description": "Whether to show a URL preview in the message.",
                "default": false
              }
            },
            "required": [
              "body"
            ]
          },
          "template": {
            "type": "object",
            "description": "Template message object. Provide either template_id or name + language to identify the template.",
            "properties": {
              "template_id": {
                "type": "string",
                "description": "Telnyx template ID (the id field from template list/get responses). When provided, name and language are resolved automatically.",
                "example": "019cd44b-3a1c-781b-956e-bd33e9fd2ac6"
              },
              "name": {
                "type": "string",
                "description": "Template name as registered with Meta. Required unless template_id is provided.",
                "example": "order_confirmation"
              },
              "language": {
                "type": "object",
                "description": "Template language. Required unless template_id is provided.",
                "properties": {
                  "policy": {
                    "type": "string",
                    "example": "deterministic"
                  },
                  "code": {
                    "type": "string",
                    "description": "Language code (e.g. en_US)",
                    "example": "en_US"
                  }
                },
                "required": [
                  "code"
                ]
              },
              "components": {
                "type": "array",
                "description": "Template parameter values for header, body, and button components.",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "header",
                        "body",
                        "button"
                      ]
                    },
                    "sub_type": {
                      "type": "string",
                      "enum": [
                        "quick_reply",
                        "url"
                      ]
                    },
                    "index": {
                      "type": "integer",
                      "description": "Button index (required for button components)"
                    },
                    "parameters": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "text",
                              "image",
                              "video",
                              "document",
                              "currency",
                              "date_time"
                            ]
                          },
                          "text": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "WhatsappPatchCallingSettingsRequest": {
        "type": "object",
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "WhatsappPhoneNumberVerificationRequest": {
        "type": "object",
        "required": [
          "phone_number",
          "display_name"
        ],
        "properties": {
          "phone_number": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "verification_method": {
            "type": "string",
            "enum": [
              "sms",
              "voice"
            ],
            "default": "sms"
          },
          "language": {
            "type": "string",
            "default": "en_US"
          }
        }
      },
      "WhatsappPhoneResponse": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "whatsapp_business_phone_number"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number in E164 format"
          },
          "phone_number_id": {
            "type": "string",
            "description": "Whatsapp phone number ID"
          },
          "waba_id": {
            "type": "string",
            "description": "WABA ID of Whatsapp business account"
          },
          "user_id": {
            "type": "string",
            "description": "User ID"
          },
          "display_name": {
            "type": "string"
          },
          "quality_rating": {
            "type": "string",
            "description": "Whatsapp quality rating"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "enabled": {
            "type": "boolean"
          },
          "calling_enabled": {
            "type": "boolean"
          }
        }
      },
      "WhatsappProfileData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "record_type": {
            "type": "string",
            "example": "whatsapp_phone_number_profiles"
          },
          "phone_number_id": {
            "type": "string",
            "description": "Whatsapp phone number ID"
          },
          "display_name": {
            "type": "string"
          },
          "profile_photo_url": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "about": {
            "type": "string",
            "maxLength": 139
          },
          "description": {
            "type": "string",
            "maxLength": 512
          },
          "email": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WhatsappProfilePhotoData": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "whatsapp_phone_number_profile_photos"
          },
          "phone_number_id": {
            "type": "string",
            "description": "Meta phone number ID"
          },
          "profile_photo_url": {
            "type": "string",
            "description": "URL of the business profile photo (served by Meta's CDN). May be empty if no photo is set."
          }
        }
      },
      "WhatsappProfilePhotoResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/WhatsappProfilePhotoData"
          }
        }
      },
      "WhatsappReaction": {
        "type": "object",
        "properties": {
          "message_id": {
            "type": "string"
          },
          "emoji": {
            "type": "string"
          }
        }
      },
      "WhatsappResendVerificationRequest": {
        "type": "object",
        "properties": {
          "verification_method": {
            "type": "string",
            "enum": [
              "sms",
              "voice"
            ],
            "default": "sms"
          }
        }
      },
      "WhatsappResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "message"
              },
              "direction": {
                "type": "string",
                "example": "outbound"
              },
              "id": {
                "type": "string",
                "description": "message ID",
                "example": "4031938e-60e4-4235-a8dd-0b1c55a23e7a"
              },
              "type": {
                "type": "string",
                "example": "WHATSAPP"
              },
              "organization_id": {
                "type": "string",
                "example": "9f61d8e1-7687-4d6d-9cae-9ff682985983"
              },
              "messaging_profile_id": {
                "type": "string",
                "example": "4001781e-626f-4a41-a914-b1b682150f94"
              },
              "from": {
                "type": "object",
                "properties": {
                  "phone_number": {
                    "type": "string",
                    "description": "Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short code).",
                    "x-format": "address"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "received",
                      "delivered"
                    ]
                  },
                  "carrier": {
                    "type": "string",
                    "description": "The carrier of the sender."
                  },
                  "line_type": {
                    "type": "string",
                    "description": "The line-type of the sender.",
                    "enum": [
                      "Wireline",
                      "Wireless",
                      "VoWiFi",
                      "VoIP",
                      "Pre-Paid Wireless",
                      ""
                    ]
                  }
                }
              },
              "to": {
                "$ref": "#/components/schemas/RCSTo"
              },
              "body": {
                "$ref": "#/components/schemas/WhatsappMessageContent"
              },
              "encoding": {
                "type": "string",
                "example": "utf-8"
              },
              "received_at": {
                "type": "string",
                "format": "date-time"
              },
              "wait_seconds": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "float",
                "description": "Seconds the message is queued due to rate limiting before being sent to the carrier. Represents the maximum wait across all applicable rate limits (account, carrier, campaign). 0.0 = no queuing delay.",
                "example": 0.5
              }
            }
          }
        }
      },
      "WhatsappTemplateBodyComponent": {
        "type": "object",
        "description": "The main text content of the message. Supports multiple variable parameters ({{1}}, {{2}}, etc.). Variables cannot be at the start or end. Maximum 1024 characters.",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "BODY"
            ]
          },
          "text": {
            "type": "string",
            "description": "Body text content. Use {{1}}, {{2}}, etc. for variable placeholders. Required for MARKETING and UTILITY templates. Optional for AUTHENTICATION templates where Meta provides the built-in OTP body.",
            "maxLength": 1024
          },
          "example": {
            "type": "object",
            "description": "Sample values for body variables. Required when body text contains parameters.",
            "properties": {
              "body_text": {
                "type": "array",
                "description": "Array containing one array of sample values, one per variable in order.",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "WhatsappTemplateButtonsComponent": {
        "type": "object",
        "description": "Optional interactive buttons. Maximum 3 buttons per template.",
        "required": [
          "type",
          "buttons"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "BUTTONS"
            ]
          },
          "buttons": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "URL",
                    "PHONE_NUMBER",
                    "QUICK_REPLY",
                    "OTP",
                    "COPY_CODE",
                    "FLOW"
                  ]
                },
                "text": {
                  "type": "string",
                  "maxLength": 25,
                  "description": "Button label text. Maximum 25 characters. Required for URL, PHONE_NUMBER, and QUICK_REPLY buttons. Not required for OTP buttons (Meta supplies the label)."
                },
                "url": {
                  "type": "string",
                  "description": "URL for URL-type buttons. Supports one variable ({{1}})."
                },
                "phone_number": {
                  "type": "string",
                  "description": "Phone number in E.164 format."
                },
                "otp_type": {
                  "type": "string",
                  "enum": [
                    "COPY_CODE",
                    "ONE_TAP"
                  ]
                },
                "example": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Sample values for URL variable."
                },
                "package_name": {
                  "type": "string",
                  "description": "Android package name. Required for ONE_TAP OTP buttons."
                },
                "signature_hash": {
                  "type": "string",
                  "description": "Android app signing key hash. Required for ONE_TAP OTP buttons."
                },
                "autofill_text": {
                  "type": "string",
                  "description": "Custom autofill button text for ONE_TAP OTP buttons."
                },
                "zero_tap_terms_accepted": {
                  "type": "boolean",
                  "description": "Whether zero-tap terms have been accepted."
                },
                "flow_id": {
                  "type": "string",
                  "description": "Flow ID for FLOW-type buttons."
                },
                "flow_action": {
                  "type": "string",
                  "enum": [
                    "navigate",
                    "data_exchange"
                  ],
                  "description": "Flow action type for FLOW-type buttons."
                },
                "navigate_screen": {
                  "type": "string",
                  "description": "Target screen name for FLOW buttons with navigate action."
                }
              }
            },
            "description": "Array of button objects. Meta supports various combinations of button types."
          }
        }
      },
      "WhatsappTemplateCarouselComponent": {
        "type": "object",
        "description": "Carousel component for multi-card templates. Each card can contain its own header, body, and buttons.",
        "required": [
          "type",
          "cards"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "CAROUSEL"
            ]
          },
          "cards": {
            "type": "array",
            "description": "Array of card objects, each with its own components.",
            "items": {
              "type": "object",
              "properties": {
                "components": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      },
      "WhatsappTemplateData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "record_type": {
            "type": "string",
            "example": "whatsapp_message_template"
          },
          "template_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "MARKETING",
              "UTILITY",
              "AUTHENTICATION"
            ]
          },
          "language": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "description": "Current template status from Meta (e.g. PENDING, APPROVED, REJECTED, PAUSED, DISABLED). Additional statuses may be returned as Meta evolves the template lifecycle."
          },
          "rejection_reason": {
            "type": "string"
          },
          "components": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": "Template components (header, body, footer, buttons) as submitted, including example values."
          },
          "whatsapp_business_account": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WhatsappTemplateFooterComponent": {
        "type": "object",
        "description": "Optional footer displayed at the bottom of the message. Does not support variables.",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "FOOTER"
            ]
          },
          "text": {
            "type": "string",
            "description": "Footer text. Maximum 60 characters. For non-authentication templates.",
            "maxLength": 60
          },
          "code_expiration_minutes": {
            "type": "integer",
            "description": "OTP code expiration time in minutes. Used in AUTHENTICATION template footers instead of free-form text."
          }
        }
      },
      "WhatsappTemplateHeaderComponent": {
        "type": "object",
        "description": "Optional header displayed at the top of the message.",
        "required": [
          "type",
          "format"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "HEADER"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "TEXT",
              "IMAGE",
              "VIDEO",
              "DOCUMENT",
              "LOCATION"
            ],
            "description": "Header format type: TEXT (supports one variable), IMAGE, VIDEO, DOCUMENT, or LOCATION."
          },
          "text": {
            "type": "string",
            "description": "Header text. Required when format is TEXT. Supports one variable ({{1}}). Variables cannot be at the start or end."
          },
          "example": {
            "type": "object",
            "description": "Sample values for header variables.",
            "properties": {
              "header_text": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Sample values for text header variables."
              },
              "header_handle": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Media handle for IMAGE, VIDEO, or DOCUMENT headers."
              }
            }
          }
        }
      },
      "WhatsappUpdateProfileRequest": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string"
          },
          "about": {
            "type": "string",
            "maxLength": 139
          },
          "description": {
            "type": "string",
            "maxLength": 512
          },
          "category": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "profile_id": {
            "type": "string",
            "format": "uuid",
            "description": "Messaging profile ID for inbound messages"
          }
        }
      },
      "WhatsappUpdateTemplateRequest": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "MARKETING",
              "UTILITY",
              "AUTHENTICATION"
            ]
          },
          "components": {
            "type": "array",
            "description": "Updated template components. Same structure as the create request.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WhatsappTemplateHeaderComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateBodyComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateFooterComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateButtonsComponent"
                },
                {
                  "$ref": "#/components/schemas/WhatsappTemplateCarouselComponent"
                }
              ],
              "description": "A template component. Additional Meta component types not listed here are also accepted."
            }
          }
        }
      },
      "WhatsappUserData": {
        "type": "object",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "whatsapp_user_data"
          },
          "webhook_url": {
            "type": "string",
            "format": "url",
            "description": "URL to receive Whatsapp signup events"
          },
          "webhook_failover_url": {
            "type": "string",
            "format": "url",
            "description": "Failover URL to receive Whatsapp signup events"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WhatsappVerifyCodeRequest": {
        "type": "object",
        "required": [
          "code"
        ],
        "properties": {
          "code": {
            "type": "string"
          }
        }
      },
      "WidgetSettings": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "light",
              "dark"
            ],
            "description": "The visual theme for the widget."
          },
          "audio_visualizer_config": {
            "$ref": "#/components/schemas/AudioVisualizerConfig"
          },
          "start_call_text": {
            "type": "string",
            "description": "Custom text displayed on the start call button."
          },
          "default_state": {
            "type": "string",
            "enum": [
              "expanded",
              "collapsed"
            ],
            "description": "The default state of the widget."
          },
          "position": {
            "type": "string",
            "enum": [
              "fixed",
              "static"
            ],
            "description": "The positioning style for the widget."
          },
          "view_history_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL to view conversation history."
          },
          "report_issue_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL for users to report issues."
          },
          "give_feedback_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL for users to give feedback."
          },
          "agent_thinking_text": {
            "type": "string",
            "description": "Text displayed while the agent is processing."
          },
          "speak_to_interrupt_text": {
            "type": "string",
            "description": "Text prompting users to speak to interrupt."
          },
          "logo_icon_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL to a custom logo icon for the widget."
          }
        },
        "title": "WidgetSettings",
        "description": "Configuration settings for the assistant's web widget."
      },
      "WireguardInterface": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "$ref": "#/components/schemas/Interface"
          },
          {
            "type": "object",
            "title": "WireguardInterface",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "wireguard_interface"
              },
              "endpoint": {
                "type": "string",
                "description": "The Telnyx WireGuard peers `Peer.endpoint` value.",
                "example": "203.0.113.0:51871",
                "readOnly": true
              },
              "public_key": {
                "type": "string",
                "description": "The Telnyx WireGuard peers `Peer.PublicKey`.",
                "readOnly": true,
                "example": "qF4EqlZq+5JL2IKYY8ij49daYyfKVhevJrcDxdqC8GU="
              },
              "enable_sip_trunking": {
                "type": "boolean",
                "description": "Enable SIP traffic forwarding over VPN interface.",
                "example": false
              }
            }
          }
        ]
      },
      "WireguardInterfaceCreate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WireguardInterface"
          },
          {
            "$ref": "#/components/schemas/RegionIn"
          },
          {
            "type": "object",
            "title": "WireguardInterfaceCreate",
            "required": [
              "network_id",
              "region_code"
            ]
          }
        ]
      },
      "WireguardInterfaceRead": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WireguardInterface"
          },
          {
            "$ref": "#/components/schemas/RegionOut"
          }
        ]
      },
      "WireguardPeer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Record"
          },
          {
            "$ref": "#/components/schemas/WireguardPeerPatch"
          },
          {
            "type": "object",
            "title": "WireguardPeer",
            "properties": {
              "record_type": {
                "type": "string",
                "description": "Identifies the type of the resource.",
                "readOnly": true,
                "example": "wireguard_peer"
              },
              "last_seen": {
                "type": "string",
                "description": "ISO 8601 formatted date-time indicating when peer sent traffic last time.",
                "readOnly": true,
                "example": "2018-02-02T22:25:27.521Z"
              },
              "wireguard_interface_id": {
                "description": "The id of the wireguard interface associated with the peer.",
                "type": "string",
                "format": "uuid",
                "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
              },
              "private_key": {
                "type": "string",
                "description": "Your WireGuard `Interface.PrivateKey`.<br /><br />This attribute is only ever utlised if, on POST, you do NOT provide your own `public_key`. In which case, a new Public and Private key pair will be generated for you. When your `private_key` is returned, you must save this immediately as we do not save it within Telnyx. If you lose your Private Key, it can not be recovered.",
                "example": "qF4EqlZq+5JL2IKYY8ij49daYyfKVhevJrcDxdqC8GU=",
                "readOnly": true
              }
            }
          }
        ]
      },
      "WireguardPeerCreate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WireguardPeer"
          },
          {
            "type": "object",
            "title": "WireguardPeerCreate",
            "required": [
              "wireguard_interface_id"
            ]
          }
        ]
      },
      "WireguardPeerPatch": {
        "type": "object",
        "title": "WireguardPeerPatch",
        "properties": {
          "public_key": {
            "type": "string",
            "description": "The WireGuard `PublicKey`.<br /><br />If you do not provide a Public Key, a new Public and Private key pair will be generated for you.",
            "example": "qF4EqlZq+5JL2IKYY8ij49daYyfKVhevJrcDxdqC8GU="
          }
        }
      },
      "WirelessBlocklist": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Identifies the resource.",
            "readOnly": true,
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "record_type": {
            "type": "string",
            "readOnly": true,
            "example": "wireless_blocklist"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "name": {
            "description": "The wireless blocklist name.",
            "type": "string",
            "example": "My wireless blocklist."
          },
          "type": {
            "description": "The type of the wireless blocklist.",
            "type": "string",
            "enum": [
              "country",
              "mcc",
              "plmn"
            ],
            "default": "country",
            "example": "country"
          },
          "values": {
            "description": "Values to block. The values here depend on the `type` of Wireless Blocklist.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CountryCode"
                },
                {
                  "$ref": "#/components/schemas/MobileCountryCode"
                },
                {
                  "$ref": "#/components/schemas/PLMNCode"
                }
              ]
            },
            "example": [
              "CA",
              "MX",
              "US"
            ]
          }
        }
      },
      "WirelessConnectivityLog": {
        "type": "object",
        "title": "WirelessConnectivityLog",
        "description": "This object represents a wireless connectivity session log that happened through a SIM card. It aids in finding out potential problems when the SIM is not able to attach properly.",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "wireless_connectivity_log",
            "readOnly": true
          },
          "id": {
            "type": "integer",
            "example": 137509451,
            "description": "Uniquely identifies the session.",
            "readOnly": true
          },
          "sim_card_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identification UUID of the related SIM card resource.",
            "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
          },
          "log_type": {
            "type": "string",
            "enum": [
              "registration",
              "data"
            ],
            "example": "registration",
            "description": "The type of the session, 'registration' being the initial authentication session and 'data' the actual data transfer sessions.",
            "readOnly": true
          },
          "imsi": {
            "type": "string",
            "description": "SIM cards are identified on their individual network operators by a unique International Mobile Subscriber Identity (IMSI). <br/>\nMobile network operators connect mobile phone calls and communicate with their market SIM cards using their IMSIs. The IMSI is stored in the Subscriber  Identity Module (SIM) inside the device and is sent by the device to the appropriate network. It is used to acquire the details of the device in the Home  Location Register (HLR) or the Visitor Location Register (VLR).\n",
            "readOnly": true,
            "example": "081932214823362973"
          },
          "imei": {
            "type": "string",
            "description": "The International Mobile Equipment Identity (or IMEI) is a number, usually unique, that identifies the device currently being used connect to the network.",
            "readOnly": true,
            "example": "490154203237518"
          },
          "mobile_country_code": {
            "type": "string",
            "description": "It's a three decimal digit that identifies a country.<br/><br/>\nThis code is commonly seen joined with a Mobile Network Code (MNC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "readOnly": true,
            "example": "310"
          },
          "mobile_network_code": {
            "type": "string",
            "description": "It's a two to three decimal digits that identify a network.<br/><br/>\n This code is commonly seen joined with a Mobile Country Code (MCC) in a tuple that allows identifying a carrier known as PLMN (Public Land Mobile Network) code.",
            "readOnly": true,
            "example": "410"
          },
          "start_time": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the session started.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "stop_time": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the session ended.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the record was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "last_seen": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the last heartbeat to the device was successfully recorded.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "apn": {
            "type": "string",
            "description": "The Access Point Name (APN) identifies the packet data network that a mobile data user wants to communicate with.",
            "readOnly": true,
            "example": "data00.telnyx"
          },
          "ipv4": {
            "type": "string",
            "description": "The SIM's address in the currently connected network. This IPv4 address is usually obtained dynamically, so it may vary according to the location or new connections.\n",
            "readOnly": true,
            "example": "192.168.0.0"
          },
          "ipv6": {
            "type": "string",
            "description": "The SIM's address in the currently connected network. This IPv6 address is usually obtained dynamically, so it may vary according to the location or new connections.\n",
            "readOnly": true,
            "example": "2001:cdba:0000:0000:0000:0000:3257:9652"
          },
          "radio_access_technology": {
            "type": "string",
            "description": "The radio technology the SIM card used during the session.",
            "readOnly": true,
            "example": "LTE"
          },
          "state": {
            "type": "string",
            "description": "The state of the SIM card after when the session happened.",
            "readOnly": true,
            "example": "provisioned"
          },
          "cell_id": {
            "type": "string",
            "description": "The cell ID to which the SIM connected.",
            "readOnly": true,
            "example": "311210-6813"
          }
        }
      },
      "WirelessCost": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Final cost. Cost is calculated as rate * unit",
            "example": "0.1"
          },
          "currency": {
            "type": "string",
            "description": "Currency of the rate and cost",
            "example": "USD",
            "enum": [
              "AUD",
              "CAD",
              "EUR",
              "GBP",
              "USD"
            ]
          }
        }
      },
      "WirelessPcrfService": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The service identifier.",
            "example": "service_123"
          },
          "name": {
            "type": "string",
            "description": "The name of the service.",
            "example": "Netflix"
          },
          "group": {
            "type": "string",
            "description": "The group the service belongs to.",
            "example": "Streaming"
          },
          "resource_type": {
            "type": "string",
            "readOnly": true,
            "example": "wireless_pcrf_service"
          }
        }
      },
      "WirelessRate": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Rate from which cost is calculated",
            "example": "0.1"
          },
          "currency": {
            "type": "string",
            "description": "Currency of the rate and cost",
            "example": "USD",
            "enum": [
              "AUD",
              "CAD",
              "EUR",
              "GBP",
              "USD"
            ]
          }
        }
      },
      "X402PaymentRequirements": {
        "type": "object",
        "description": "x402 protocol v2 payment requirements. Contains all information needed to construct and sign a payment authorization.",
        "properties": {
          "x402Version": {
            "type": "integer",
            "enum": [
              2
            ],
            "description": "x402 protocol version. Currently always 2."
          },
          "resource": {
            "type": "object",
            "description": "The resource being paid for. Included in the payment signature.",
            "properties": {
              "url": {
                "type": "string",
                "description": "Canonical URL of the payment resource."
              },
              "description": {
                "type": "string",
                "description": "Human-readable description of the payment."
              },
              "mimeType": {
                "type": "string",
                "description": "MIME type of the resource."
              }
            }
          },
          "accepts": {
            "type": "array",
            "description": "Accepted payment schemes. Currently only the `exact` EVM scheme is supported.",
            "items": {
              "type": "object",
              "properties": {
                "scheme": {
                  "type": "string",
                  "description": "Payment scheme (e.g. \"exact\")."
                },
                "network": {
                  "type": "string",
                  "description": "Blockchain network identifier in CAIP-2 format (e.g. \"eip155:8453\" for Base)."
                },
                "amount": {
                  "type": "string",
                  "description": "Amount in the token's smallest unit."
                },
                "asset": {
                  "type": "string",
                  "description": "Token contract address (e.g. USDC on Base)."
                },
                "payTo": {
                  "type": "string",
                  "description": "Recipient wallet address."
                },
                "maxTimeoutSeconds": {
                  "type": "integer",
                  "description": "Maximum time in seconds before the payment authorization expires."
                },
                "extra": {
                  "type": "object",
                  "description": "Additional scheme-specific parameters including EIP-712 domain info and the facilitator URL.",
                  "properties": {
                    "quoteId": {
                      "type": "string"
                    },
                    "facilitatorUrl": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string",
                      "description": "EIP-712 domain name (e.g. \"USD Coin\")."
                    },
                    "version": {
                      "type": "string",
                      "description": "EIP-712 domain version."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "X402QuoteRequest": {
        "type": "object",
        "required": [
          "amount_usd"
        ],
        "properties": {
          "amount_usd": {
            "type": "string",
            "description": "Amount in USD to fund (minimum 5.00, maximum 10000.00).",
            "example": "50.00"
          }
        }
      },
      "X402QuoteResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique quote identifier. Use this to settle the payment."
              },
              "record_type": {
                "type": "string",
                "enum": [
                  "quote"
                ]
              },
              "amount_usd": {
                "type": "string",
                "description": "The quoted amount in USD."
              },
              "amount_crypto": {
                "type": "string",
                "description": "The equivalent amount in the payment cryptocurrency's smallest unit (e.g. USDC has 6 decimals, so $50.00 = \"50000000\")."
              },
              "network": {
                "type": "string",
                "description": "The blockchain network for the payment in CAIP-2 format (e.g. eip155:8453 for Base)."
              },
              "expires_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 timestamp when the quote expires."
              },
              "payment_requirements": {
                "$ref": "#/components/schemas/X402PaymentRequirements"
              }
            }
          }
        }
      },
      "X402SettleRequest": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The quote ID to settle."
          },
          "payment_signature": {
            "type": "string",
            "description": "Base64-encoded signed payment authorization (x402 PaymentPayload). Can alternatively be provided via the PAYMENT-SIGNATURE header."
          }
        }
      },
      "X402SettlementErrorResponse": {
        "type": "object",
        "description": "Error response for x402 settlement failures. Uses string error codes from the x402 error handling system.",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Machine-readable error code.",
                  "enum": [
                    "invalid_signature",
                    "expired_authorization",
                    "invalid_nonce",
                    "insufficient_balance",
                    "insufficient_funds",
                    "insufficient_allowance",
                    "facilitator_unavailable",
                    "facilitator_timeout",
                    "settlement_timeout",
                    "transaction_failed",
                    "unknown"
                  ]
                },
                "title": {
                  "type": "string",
                  "description": "Short error title (e.g. \"Payment Failed\")."
                },
                "detail": {
                  "type": "string",
                  "description": "Human-readable error description with guidance."
                }
              }
            }
          }
        }
      },
      "X402TransactionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique transaction identifier."
              },
              "record_type": {
                "type": "string",
                "enum": [
                  "x402_transaction"
                ]
              },
              "amount": {
                "type": "string",
                "description": "The transaction amount in the specified currency."
              },
              "currency": {
                "type": "string",
                "description": "The currency of the transaction amount (e.g. USD)."
              },
              "status": {
                "type": "string",
                "description": "The settlement status of the transaction.",
                "enum": [
                  "settled"
                ]
              },
              "quote_id": {
                "type": "string",
                "description": "The original quote ID associated with this transaction."
              },
              "tx_hash": {
                "type": "string",
                "nullable": true,
                "description": "The on-chain transaction hash, if available."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 timestamp when the transaction was created."
              }
            }
          }
        }
      },
      "XAIProviderParams": {
        "type": "object",
        "description": "xAI provider-specific parameters.",
        "required": [
          "voice_id"
        ],
        "properties": {
          "voice_id": {
            "type": "string",
            "description": "xAI voice identifier.",
            "enum": [
              "eve",
              "ara",
              "rex",
              "sal",
              "leo"
            ]
          },
          "language": {
            "type": "string",
            "description": "Language code, or `auto` to detect.",
            "default": "auto"
          },
          "output_format": {
            "type": "string",
            "description": "Audio output format.",
            "enum": [
              "mp3",
              "wav",
              "pcm",
              "mulaw",
              "alaw"
            ],
            "default": "mp3"
          },
          "sample_rate": {
            "type": "integer",
            "description": "Audio sample rate in Hz.",
            "enum": [
              8000,
              16000,
              22050,
              24000,
              44100,
              48000
            ],
            "default": 24000
          }
        }
      },
      "XAIVoiceSettings": {
        "type": "object",
        "title": "xAI Voice Settings",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "xai"
            ],
            "description": "Voice settings provider type"
          },
          "language": {
            "description": "Language code, or `auto` to detect automatically.",
            "type": "string",
            "default": "auto"
          }
        },
        "required": [
          "type"
        ]
      },
      "XaiTranscriptionLanguage": {
        "title": "xAI transcription engine list of languages",
        "type": "string",
        "description": "Language to use for speech recognition",
        "example": "en",
        "default": "en",
        "enum": [
          "ar",
          "cs",
          "da",
          "de",
          "en",
          "es",
          "fa",
          "fil",
          "fr",
          "hi",
          "id",
          "it",
          "ja",
          "ko",
          "mk",
          "ms",
          "nl",
          "pl",
          "pt",
          "ro",
          "ru",
          "sv",
          "th",
          "tr",
          "vi"
        ]
      },
      "active": {
        "type": "boolean",
        "description": "The active status of the authentication provider",
        "default": true,
        "example": true
      },
      "address_book": {
        "type": "boolean",
        "description": "Indicates whether or not the address should be considered part of your list of addresses that appear for regular use.",
        "example": false,
        "default": true
      },
      "administrative_area": {
        "type": "string",
        "description": "The locality of the address. For US addresses, this corresponds to the state of the address.",
        "example": "TX"
      },
      "attempt": {
        "description": "Webhook delivery attempt details.",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "delivered",
              "failed"
            ]
          },
          "started_at": {
            "description": "ISO 8601 timestamp indicating when the attempt was initiated.",
            "type": "string",
            "format": "date-time"
          },
          "finished_at": {
            "description": "ISO 8601 timestamp indicating when the attempt has finished.",
            "type": "string",
            "format": "date-time"
          },
          "http": {
            "$ref": "#/components/schemas/http"
          },
          "errors": {
            "description": "Webhook delivery error codes.",
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        },
        "example": [
          {
            "status": "delivered",
            "started_at": "2020-08-10T14:00:05.364Z",
            "finished_at": "2020-08-10T14:00:05.595Z",
            "http": {
              "request": {
                "url": "https://fallback.example.com/webhooks",
                "headers": [
                  [
                    "Accept",
                    "*/*"
                  ]
                ]
              },
              "response": {
                "status": 200,
                "headers": [
                  [
                    "Content-Type",
                    "text/html"
                  ]
                ],
                "body": "All good."
              }
            }
          },
          {
            "status": "failed",
            "started_at": "2020-08-10T14:00:05.004Z",
            "finished_at": "2020-08-10T14:00:05.360Z",
            "http": {
              "request": {
                "url": "https://typo.example.com/webhooks",
                "headers": [
                  [
                    "Accept",
                    "*/*"
                  ]
                ]
              },
              "response": {
                "status": 404,
                "headers": [
                  [
                    "Content-Type",
                    "text/html"
                  ],
                  [
                    "Pragma",
                    "no-cache"
                  ]
                ],
                "body": "Oops. Not found."
              }
            },
            "errors": [
              75499
            ]
          },
          {
            "status": "failed",
            "started_at": "2020-08-10T14:00:00.000Z",
            "finished_at": "2020-08-10T14:00:05.000Z",
            "http": {
              "request": {
                "url": "https://slow.example.com/webhooks",
                "headers": [
                  "Accept: */*"
                ]
              },
              "reponse": null
            },
            "errors": [
              {
                "code": "75001",
                "title": "Could not resolve name",
                "detail": "Unable to resolve the webhook URL domain name"
              }
            ]
          }
        ]
      },
      "audit-logs_Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code.",
            "example": "10001"
          },
          "title": {
            "type": "string",
            "description": "Short description of the error.",
            "example": "Unauthorized"
          },
          "detail": {
            "type": "string",
            "description": "Detailed information about the error.",
            "example": "The request requires user authentication."
          }
        }
      },
      "audit-logs_PaginationMeta": {
        "type": "object",
        "title": "Pagination Meta",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 50
          },
          "page_number": {
            "type": "integer",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "example": 10
          }
        }
      },
      "azure_models": {
        "type": "string",
        "enum": [
          "fast"
        ]
      },
      "batch-csv_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "example": 25
          }
        }
      },
      "billing-group_Error": {
        "type": "object",
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "billing_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "billing_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/billing_Error"
            }
          }
        },
        "type": "object"
      },
      "borough": {
        "type": "string",
        "description": "The borough of the address. This field is not used for addresses in the US but is used for some international addresses.",
        "example": "Guadalajara"
      },
      "branded-calling_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelnyxError"
            }
          }
        }
      },
      "business_name": {
        "type": "string",
        "description": "The business name associated with the address. An address must have either a first last name or a business name.",
        "example": "Toy-O'Kon"
      },
      "call-control_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "format": "integer"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "call-control_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/call-control_Error"
            }
          }
        }
      },
      "call-recordings_CursorPaginationMeta": {
        "type": "object",
        "title": "Cursor Pagination Meta",
        "properties": {
          "cursors": {
            "$ref": "#/components/schemas/Cursor"
          },
          "next": {
            "type": "string",
            "description": "Path to next page.",
            "example": "/v2/recording_transcriptions?page[after]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          },
          "previous": {
            "type": "string",
            "description": "Path to previous page.",
            "example": "/v2/recording_transcriptions?page[before]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI="
          }
        }
      },
      "call-recordings_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code identifier (string or numeric string)."
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "call-recordings_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/call-recordings_Error"
            }
          }
        },
        "type": "object"
      },
      "call-scripting_CreateQueueRequest": {
        "type": "object",
        "title": "Create Queue Request",
        "properties": {
          "MaxSize": {
            "description": "The maximum size of the queue.",
            "example": 10,
            "type": "integer"
          },
          "FriendlyName": {
            "description": "A human readable name for the queue.",
            "example": "Support Queue",
            "type": "string"
          }
        },
        "example": {
          "MaxSize": 10,
          "FriendlyName": "Support Queue"
        }
      },
      "call-scripting_PaginationMeta": {
        "title": "Pagination Meta",
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "call-scripting_ResourceNotFoundError": {
        "type": "object",
        "title": "Resource not found",
        "example": {
          "errors": [
            {
              "detail": "Resource not found"
            }
          ]
        },
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "detail": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "call-scripting_UpdateConferenceParticipantRequest": {
        "type": "object",
        "title": "Update Conference Participant Request",
        "properties": {
          "Muted": {
            "description": "Whether the participant should be muted.",
            "example": true,
            "type": "boolean"
          },
          "Hold": {
            "description": "Whether the participant should be on hold.",
            "example": true,
            "type": "boolean"
          },
          "HoldUrl": {
            "description": "The URL to be called using the `HoldMethod` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.",
            "example": "https://www.example.com/hold-music.xml",
            "type": "string"
          },
          "HoldMethod": {
            "description": "The HTTP method to use when calling the `HoldUrl`.",
            "example": "POST",
            "enum": [
              "GET",
              "POST"
            ],
            "type": "string"
          },
          "AnnounceUrl": {
            "description": "The URL to call to announce something to the participant. The URL may return an MP3 fileo a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.",
            "example": "https://www.example.com/announce.xml",
            "type": "string"
          },
          "AnnounceMethod": {
            "description": "The HTTP method used to call the `AnnounceUrl`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "WaitUrl": {
            "description": "The URL to call for an audio file to play while the participant is waiting for the conference to start.",
            "example": "https://www.example.com/wait_music.mp3",
            "type": "string"
          },
          "BeepOnExit": {
            "description": "Whether to play a notification beep to the conference when the participant exits.",
            "example": false,
            "type": "boolean"
          },
          "EndConferenceOnExit": {
            "description": "Whether to end the conference when the participant leaves.",
            "example": false,
            "type": "boolean"
          },
          "Coaching": {
            "description": "Whether the participant is coaching another call. When `true`, `CallSidToCoach` has to be given.",
            "example": false,
            "type": "boolean"
          },
          "CallSidToCoach": {
            "description": "The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.",
            "example": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
            "type": "string"
          }
        },
        "example": {
          "BeepOnExit": false
        }
      },
      "call-scripting_UpdateConferenceRequest": {
        "type": "object",
        "title": "Update Conference Request",
        "properties": {
          "Status": {
            "description": "The new status of the resource. Specifying `completed` will end the conference and hang up all participants.",
            "example": "completed",
            "type": "string"
          },
          "AnnounceUrl": {
            "description": "The URL we should call to announce something into the conference. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.",
            "example": "https://www.example.com/announce.xml",
            "type": "string"
          },
          "AnnounceMethod": {
            "description": "The HTTP method used to call the `AnnounceUrl`. Defaults to `POST`.",
            "example": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          }
        },
        "example": {
          "Status": "completed"
        }
      },
      "call-scripting_UpdateQueueRequest": {
        "type": "object",
        "title": "Update Queue Request",
        "properties": {
          "MaxSize": {
            "description": "The maximum size of the queue.",
            "example": 10,
            "type": "integer"
          }
        },
        "example": {
          "MaxSize": 10
        }
      },
      "callConversationEnded": {
        "type": "object",
        "title": "Call Conversation Ended",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.conversation.ended",
            "enum": [
              "call.conversation.ended"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Unique identifier for the event."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2025-05-29T13:35:38.927621Z",
            "description": "Timestamp when the event was created in the system."
          },
          "payload": {
            "type": "object",
            "properties": {
              "assistant_id": {
                "type": "string",
                "example": "assistant-d9082b56-ba2d-4ad1-a50c-58661eb1463d",
                "description": "Unique identifier of the assistant involved in the call."
              },
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "cc29cce6-3c91-11f0-a8e5-02420aef3d20",
                "description": "ID that is unique to the call leg."
              },
              "call_session_id": {
                "type": "string",
                "example": "cc29c8d6-3c91-11f0-aa7c-02420aef3d20",
                "description": "ID that is unique to the call session (group of related call legs)."
              },
              "client_state": {
                "type": "string",
                "example": "g3QAAAACbQAAAAtkYXRhX2NlbnRlcm0AAAADY2gxbQAAAApkZXBsb3ltZW50bQAAAARiYXNl",
                "description": "Base64-encoded state received from a command."
              },
              "calling_party_type": {
                "type": "string",
                "example": "sip",
                "enum": [
                  "pstn",
                  "sip"
                ],
                "description": "The type of calling party connection."
              },
              "conversation_id": {
                "type": "string",
                "example": "0424805b-adc1-4ff8-9f95-e1de6883ecbe",
                "description": "ID unique to the conversation or insight group generated for the call."
              },
              "duration_sec": {
                "type": "integer",
                "example": 3,
                "description": "Duration of the conversation in seconds."
              },
              "reason": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "customer_disconnect",
                "description": "Reason the conversation ended. For Conversation Relay, `customer_disconnect` indicates that the customer WebSocket disconnected."
              },
              "from": {
                "type": "string",
                "example": "+13124287921",
                "description": "The caller's number or identifier."
              },
              "to": {
                "type": "string",
                "example": "jamesw@assistant-d9082b56-ba2d-4ad1-a50c-58661eb1463d.sip.telnyx.com",
                "description": "The callee's number or SIP address."
              },
              "llm_model": {
                "type": "string",
                "example": "openai/gpt-4o",
                "description": "The large language model used during the conversation."
              },
              "stt_model": {
                "type": "string",
                "example": "distil-whisper/distil-large-v2",
                "description": "The speech-to-text model used in the conversation."
              },
              "tts_provider": {
                "type": "string",
                "example": "telnyx",
                "description": "The text-to-speech provider used in the call."
              },
              "tts_model_id": {
                "type": "string",
                "example": "Natural",
                "description": "The model ID used for text-to-speech synthesis."
              },
              "tts_voice_id": {
                "type": "string",
                "example": "Marissa",
                "description": "Voice ID used for TTS."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.conversation.ended",
          "id": "eb8775a6-634f-48b0-b177-d5465a8a8e9f",
          "occurred_at": "2025-05-29T13:35:38.817785Z",
          "created_at": "2025-05-29T13:35:38.927621Z",
          "payload": {
            "assistant_id": "assistant-d9082b56-ba2d-4ad1-a50c-58661eb1463d",
            "call_control_id": "v3:HDR1vQHx697hpP9xZ0bhlbUOWPFPDtPcxw-nuSMuC6mGVpb0euoklQ",
            "call_leg_id": "cc29cce6-3c91-11f0-a8e5-02420aef3d20",
            "call_session_id": "cc29c8d6-3c91-11f0-aa7c-02420aef3d20",
            "calling_party_type": "sip",
            "client_state": "g3QAAAACbQAAAAtkYXRhX2NlbnRlcm0AAAADY2gxbQAAAApkZXBsb3ltZW50bQAAAARiYXNl",
            "connection_id": "2694492062593582591",
            "conversation_id": "0424805b-adc1-4ff8-9f95-e1de6883ecbe",
            "duration_sec": 3,
            "from": "+13124287921",
            "to": "jamesw@assistant-d9082b56-ba2d-4ad1-a50c-58661eb1463d.sip.telnyx.com",
            "llm_model": "openai/gpt-4o",
            "stt_model": "distil-whisper/distil-large-v2",
            "tts_model_id": "Natural",
            "tts_provider": "telnyx",
            "tts_voice_id": "Marissa",
            "reason": "customer_disconnect"
          }
        }
      },
      "callConversationEndedEvent": {
        "type": "object",
        "title": "Call Conversation Ended Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/callConversationEnded"
          }
        }
      },
      "callConversationInsightsGenerated": {
        "type": "object",
        "title": "Call Conversation Insights Generated",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.conversation_insights.generated",
            "enum": [
              "call.conversation_insights.generated"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "calling_party_type": {
                "type": "string",
                "example": "pstn",
                "enum": [
                  "pstn",
                  "sip"
                ],
                "description": "The type of calling party connection."
              },
              "insight_group_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the insight group being generated for the call."
              },
              "results": {
                "type": "array",
                "description": "Array of insight results being generated for the call.",
                "items": {
                  "type": "object",
                  "properties": {
                    "insight_id": {
                      "type": "string",
                      "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                      "description": "ID that is unique to the insight result being generated for the call."
                    },
                    "result": {
                      "oneOf": [
                        {
                          "type": "object",
                          "description": "The result of the insight."
                        },
                        {
                          "type": "string",
                          "description": "The result of the insight."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.conversation_insights.generated",
          "id": "898e96ef-be63-45aa-9e7d-01332bff9a97",
          "occurred_at": "2025-02-19T17:02:49.371454Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "calling_party_type": "pstn",
            "insight_group_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
            "results": [
              {
                "insight_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "result": "The user inquired about the menu at Ember & Oak. The menu offers various options, including vegetarian, vegan, and gluten-free dishes, as well as a children's menu. The restaurant also has a daily happy hour from 4 PM to 6 PM and offers takeaway and delivery services. The user found the information helpful but had to leave without making any further decisions or requests. No specific preferences or goals were expressed beyond inquiring about the menu."
              }
            ]
          }
        }
      },
      "callConversationInsightsGeneratedEvent": {
        "type": "object",
        "title": "Call Conversation Insights Generated Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/callConversationInsightsGenerated"
          }
        }
      },
      "callRecordingError": {
        "type": "object",
        "title": "Call Recording Error",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.recording.error",
            "enum": [
              "call.recording.error"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "reason": {
                "type": "string",
                "example": "Internal server error",
                "enum": [
                  "Failed to authorize with storage using custom credentials",
                  "Invalid credentials json",
                  "Unsupported backend",
                  "Internal server error"
                ],
                "description": "Indication that there was a problem recording the call."
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.recording.error",
          "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
          "occurred_at": "2018-02-02T22:25:27.521992Z",
          "payload": {
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "reason": "Internal server error"
          }
        }
      },
      "callRecordingErrorEvent": {
        "type": "object",
        "title": "Call Recording Error Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/callRecordingError"
          }
        }
      },
      "callRecordingTranscriptionSaved": {
        "type": "object",
        "title": "Call Recording Transcription Saved",
        "properties": {
          "record_type": {
            "type": "string",
            "example": "event",
            "enum": [
              "event"
            ],
            "description": "Identifies the type of the resource."
          },
          "event_type": {
            "type": "string",
            "example": "call.recording.transcription.saved",
            "enum": [
              "call.recording.transcription.saved"
            ],
            "description": "The type of event being delivered."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
            "description": "Identifies the type of resource."
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "example": "2018-02-02T22:25:27.521992Z",
            "description": "ISO 8601 datetime of when the event occurred."
          },
          "payload": {
            "type": "object",
            "properties": {
              "call_control_id": {
                "type": "string",
                "example": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
                "description": "Call ID used to issue commands via Call Control API."
              },
              "connection_id": {
                "type": "string",
                "example": "7267xxxxxxxxxxxxxx",
                "description": "Call Control App ID (formerly Telnyx connection ID) used in the call."
              },
              "call_leg_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the call and can be used to correlate webhook events."
              },
              "call_session_id": {
                "type": "string",
                "example": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
                "description": "ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call."
              },
              "client_state": {
                "type": "string",
                "example": "aGF2ZSBhIG5pY2UgZGF5ID1d",
                "description": "State received from a command."
              },
              "calling_party_type": {
                "type": "string",
                "example": "pstn",
                "enum": [
                  "pstn",
                  "sip"
                ],
                "description": "The type of calling party connection."
              },
              "recording_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the recording session and can be used to correlate webhook events."
              },
              "recording_transcription_id": {
                "type": "string",
                "example": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
                "description": "ID that is unique to the transcription process and can be used to correlate webhook events."
              },
              "status": {
                "type": "string",
                "example": "completed",
                "enum": [
                  "completed"
                ],
                "description": "The transcription status."
              },
              "transcription_text": {
                "type": "string",
                "example": "Hi!",
                "description": "The transcribed text"
              }
            }
          }
        },
        "example": {
          "record_type": "event",
          "event_type": "call.recording.transcription.saved",
          "id": "898e96ef-be63-45aa-9e7d-01332bff9a97",
          "occurred_at": "2025-02-19T17:02:49.371454Z",
          "payload": {
            "call_control_id": "v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg",
            "connection_id": "7267xxxxxxxxxxxxxx",
            "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "call_session_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
            "calling_party_type": "pstn",
            "recording_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "recording_transcription_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
            "status": "completed",
            "transcription_text": "Hi!"
          }
        }
      },
      "callRecordingTranscriptionSavedEvent": {
        "type": "object",
        "title": "Call Recording Transcription Saved Event",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/callRecordingTranscriptionSaved"
          }
        }
      },
      "charges_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "format": "integer"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "charges_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/charges_Error"
            }
          }
        }
      },
      "cloudflare-ip-list-sync_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "cloudflare-ip-list-sync_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cloudflare-ip-list-sync_Error"
            }
          }
        },
        "type": "object"
      },
      "cloudflare-ip-list-sync_PaginationMeta": {
        "title": "PaginationMeta",
        "required": [
          "page_number",
          "page_size",
          "total_pages",
          "total_results"
        ],
        "type": "object",
        "properties": {
          "page_number": {
            "type": "integer"
          },
          "page_size": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          },
          "total_results": {
            "type": "integer"
          }
        }
      },
      "connections_OutboundVoiceProfileId": {
        "title": "Outbound Voice Profile ID",
        "type": "string",
        "description": "Identifies the associated outbound voice profile.",
        "example": "1293384261075731499",
        "x-format": "int64"
      },
      "connections_PaginationMeta": {
        "title": "Pagination Meta",
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "country_code": {
        "type": "string",
        "description": "The two-character (ISO 3166-1 alpha-2) country code of the address.",
        "example": "US"
      },
      "customer_reference": {
        "type": "string",
        "description": "A customer reference string for customer look ups.",
        "example": "MY REF 001"
      },
      "customer_service_record_ResourceNotFoundError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericError"
          },
          {
            "properties": {
              "code": {
                "example": "10005",
                "type": "string"
              },
              "title": {
                "example": "Resource not found",
                "type": "string"
              },
              "detail": {
                "example": "The requested resource or URL could not be found.",
                "type": "string"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://developers.telnyx.com/docs/overview/errors/10005"
                  }
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "customer_service_record_UnprocessableEntityError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericError"
          },
          {
            "properties": {
              "code": {
                "example": "10002",
                "type": "string"
              },
              "title": {
                "example": "Invalid phone number",
                "type": "string"
              },
              "detail": {
                "example": "The phone number is invalid.",
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {
                  "pointer": {
                    "type": "string",
                    "example": "/phone_numbers"
                  }
                }
              },
              "meta": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://developers.telnyx.com/docs/overview/errors/10002"
                  }
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "deepgram_models": {
        "type": "string",
        "enum": [
          "deepgram/nova-2",
          "deepgram/nova-3"
        ]
      },
      "detail-records_Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "10011"
          },
          "title": {
            "type": "string",
            "example": "Bad Request"
          },
          "detail": {
            "type": "string",
            "example": "No matching record type was found matching given record type wirelessxx"
          }
        }
      },
      "detail-records_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/detail-records_Error"
            }
          }
        }
      },
      "detail-records_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "example": 25
          }
        }
      },
      "documents_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "documents_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/documents_Error"
            }
          }
        },
        "type": "object"
      },
      "emergency_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "emergency_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emergency_Error"
            }
          }
        },
        "type": "object"
      },
      "extended_address": {
        "type": "string",
        "description": "Additional street address information about the address such as, but not limited to, unit number or apartment number.",
        "example": "14th Floor"
      },
      "external-voice-integrations_IntId": {
        "title": "Int ID",
        "type": "string",
        "description": "Uniquely identifies the resource.",
        "example": "1293384261075731499",
        "x-format": "int64"
      },
      "external-voice-integrations_OutboundVoiceProfileId": {
        "title": "Outbound Voice Profile ID",
        "type": "string",
        "description": "Identifies the associated outbound voice profile.",
        "example": "1293384261075731499",
        "x-format": "int64"
      },
      "external-voice-integrations_PaginationMeta": {
        "title": "Pagination Meta",
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "first_name": {
        "type": "string",
        "description": "The first name associated with the address. An address must have either a first last name or a business name.",
        "example": "Alfred"
      },
      "google_models": {
        "type": "string",
        "enum": [
          "latest_long",
          "latest_short",
          "command_and_search",
          "phone_call",
          "video",
          "default",
          "medical_conversation",
          "medical_dictation"
        ]
      },
      "http": {
        "description": "HTTP request and response information.",
        "properties": {
          "request": {
            "description": "Request details.",
            "properties": {
              "url": {
                "type": "string",
                "example": "https://example.com/webhooks"
              },
              "headers": {
                "$ref": "#/components/schemas/http_headers"
              }
            }
          },
          "response": {
            "description": "Response details, optional.",
            "type": "object",
            "properties": {
              "status": {
                "type": "integer",
                "example": 200
              },
              "headers": {
                "$ref": "#/components/schemas/http_headers"
              },
              "body": {
                "description": "Raw response body, limited to 10kB.",
                "type": "string"
              }
            }
          }
        }
      },
      "http_headers": {
        "description": "List of headers, limited to 10kB.",
        "type": "array",
        "example": [
          [
            "header_name",
            "header_value"
          ]
        ],
        "items": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "inference-embedding_Assistant": {
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "version_id": {
            "type": "string",
            "description": "Identifier for the assistant version returned by version-aware assistant endpoints."
          },
          "version_created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when this assistant version was created."
          },
          "description": {
            "type": "string"
          },
          "model": {
            "type": "string",
            "description": "ID of the model to use when `external_llm` is not set. You can use the [Get models API](https://developers.telnyx.com/api-reference/openai-chat/get-available-models-openai-compatible) to see available models. If `external_llm` is provided, the assistant uses `external_llm` instead of this field. If neither `model` nor `external_llm` is provided, Telnyx applies the default model."
          },
          "instructions": {
            "type": "string",
            "description": "System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)"
          },
          "tools": {
            "$ref": "#/components/schemas/AssistantTools",
            "description": "Deprecated for new integrations. Inline tool definitions available to the assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools endpoints."
          },
          "mcp_servers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantMCPServer"
            },
            "default": [],
            "description": "MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`, then reference them by `id` here."
          },
          "greeting": {
            "type": "string",
            "description": "Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions."
          },
          "llm_api_key_ref": {
            "type": "string",
            "description": "This is only needed when using third-party inference providers selected by `model`. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. For bring-your-own endpoint authentication, use `external_llm.llm_api_key_ref` instead. Warning: Free plans are unlikely to work with this integration."
          },
          "external_llm": {
            "$ref": "#/components/schemas/ExternalLLM"
          },
          "fallback_config": {
            "$ref": "#/components/schemas/FallbackConfig"
          },
          "voice_settings": {
            "$ref": "#/components/schemas/VoiceSettings"
          },
          "transcription": {
            "$ref": "#/components/schemas/TranscriptionSettings"
          },
          "telephony_settings": {
            "$ref": "#/components/schemas/TelephonySettings"
          },
          "messaging_settings": {
            "$ref": "#/components/schemas/MessagingSettings"
          },
          "enabled_features": {
            "items": {
              "$ref": "#/components/schemas/EnabledFeatures"
            },
            "type": "array",
            "uniqueItems": true,
            "title": "Enabled Features"
          },
          "insight_settings": {
            "$ref": "#/components/schemas/InsightSettings"
          },
          "privacy_settings": {
            "$ref": "#/components/schemas/PrivacySettings"
          },
          "dynamic_variables_webhook_url": {
            "type": "string",
            "description": "If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this URL at the start of the conversation to resolve dynamic variables. **Gotcha:** the webhook response must wrap variables under a top-level `dynamic_variables` object, e.g. `{\"dynamic_variables\": {\"customer_name\": \"Jane\"}}`. Returning a flat object will be ignored and variables will fall back to their defaults. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for the full request/response format and timeout behavior."
          },
          "dynamic_variables_webhook_timeout_ms": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 1500,
            "description": "Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and 10000 ms. If the webhook does not respond within this timeout, the call proceeds with default values. See the [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)."
          },
          "dynamic_variables": {
            "type": "object",
            "description": "Map of dynamic variables and their values",
            "additionalProperties": true
          },
          "import_metadata": {
            "$ref": "#/components/schemas/ImportMetadata"
          },
          "widget_settings": {
            "$ref": "#/components/schemas/WidgetSettings"
          },
          "interruption_settings": {
            "$ref": "#/components/schemas/inference-embedding_InterruptionSettings"
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssistantIntegration"
            },
            "default": [],
            "description": "Connected integrations attached to the assistant. The catalog of available integrations is at `/ai/integrations`; the user's connected integrations are at `/ai/integrations/connections`. Each item references a catalog integration by `integration_id`."
          },
          "observability_settings": {
            "$ref": "#/components/schemas/Observability"
          },
          "version_name": {
            "type": "string",
            "maxLength": 50,
            "default": "New assistant",
            "description": "Human-readable name for the assistant version."
          },
          "related_mission_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "IDs of missions related to this assistant."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [],
            "description": "Tags associated with the assistant. Tags can also be managed with the assistant tag endpoints."
          },
          "post_conversation_settings": {
            "$ref": "#/components/schemas/PostConversationSettings"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "created_at",
          "model",
          "instructions"
        ]
      },
      "inference-embedding_InterruptionSettings": {
        "type": "object",
        "title": "InterruptionSettings",
        "description": "Settings for interruptions and how the assistant decides the user has finished speaking. These timings are most relevant when using non turn-taking transcription models. For turn-taking models like `deepgram/flux`, end-of-turn behavior is controlled by the transcription end-of-turn settings under `transcription.settings` (`eot_threshold`, `eot_timeout_ms`, `eager_eot_threshold`).",
        "properties": {
          "enable": {
            "type": "boolean",
            "default": true,
            "description": "Whether users can interrupt the assistant while it is speaking."
          },
          "disable_greeting_interruption": {
            "type": "boolean",
            "description": "When true, disables user interruptions while the assistant greeting is playing."
          },
          "start_speaking_plan": {
            "$ref": "#/components/schemas/StartSpeakingPlan"
          }
        }
      },
      "inference-embedding_TransferTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "transfer"
            ]
          },
          "transfer": {
            "$ref": "#/components/schemas/InferenceEmbeddingTransferToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "transfer"
        ],
        "title": "TransferTool"
      },
      "inference-embedding_WebhookTool": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "webhook"
            ]
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookToolParams"
          }
        },
        "type": "object",
        "required": [
          "type",
          "webhook"
        ],
        "title": "WebhookTool"
      },
      "integration-secrets_Error": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Telnyx error code"
          },
          "detail": {
            "type": "string",
            "title": "Error details"
          },
          "title": {
            "type": "string",
            "title": "Error title"
          }
        },
        "type": "object",
        "required": [
          "detail"
        ],
        "title": "Error"
      },
      "integration-secrets_ErrorResponse": {
        "properties": {
          "errors": {
            "items": {
              "$ref": "#/components/schemas/integration-secrets_Error"
            },
            "type": "array",
            "title": "Errors"
          }
        },
        "type": "object",
        "title": "ErrorResponse"
      },
      "integration-secrets_Metadata": {
        "properties": {
          "page_size": {
            "type": "integer",
            "title": "Page Size",
            "example": 25
          },
          "page_number": {
            "type": "integer",
            "title": "Page Number",
            "example": 1
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages",
            "example": 10
          },
          "total_results": {
            "type": "integer",
            "title": "Total Items",
            "example": 250
          }
        },
        "required": [
          "page_size",
          "page_number",
          "total_pages",
          "total_results"
        ],
        "type": "object",
        "title": "Metadata"
      },
      "invoice_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "invoice_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoice_Error"
            }
          }
        },
        "type": "object"
      },
      "last_name": {
        "type": "string",
        "description": "The last name associated with the address. An address must have either a first last name or a business name.",
        "example": "Foster"
      },
      "locality": {
        "type": "string",
        "description": "The locality of the address. For US addresses, this corresponds to the city of the address.",
        "example": "Austin"
      },
      "media-storage_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "media-storage_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/media-storage_Error"
            }
          }
        },
        "type": "object"
      },
      "media-streaming_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "media-streaming_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/media-streaming_Error"
            }
          }
        },
        "type": "object"
      },
      "messaging_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "x-format": "integer"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "messaging_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/messaging_Error"
            }
          }
        }
      },
      "messaging_PaginationMeta": {
        "type": "object",
        "required": [
          "total_pages",
          "total_results",
          "page_size",
          "page_number"
        ],
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "mobile_phone_numbers_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer"
          },
          "total_results": {
            "type": "integer"
          },
          "page_number": {
            "type": "integer"
          },
          "page_size": {
            "type": "integer"
          }
        }
      },
      "mobile_voice_connections_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer"
          },
          "total_results": {
            "type": "integer"
          },
          "page_number": {
            "type": "integer"
          },
          "page_size": {
            "type": "integer"
          }
        }
      },
      "name": {
        "type": "string",
        "description": "The name associated with the authentication provider.",
        "example": "Okta"
      },
      "neighborhood": {
        "type": "string",
        "description": "The neighborhood of the address. This field is not used for addresses in the US but is used for some international addresses.",
        "example": "Ciudad de los deportes"
      },
      "netapps_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "netapps_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/netapps_Error"
            }
          }
        },
        "type": "object"
      },
      "netapps_Location": {
        "type": "object",
        "title": "Location",
        "properties": {
          "region": {
            "type": "string",
            "description": "Identifies the geographical region of location.",
            "example": "AMER"
          },
          "site": {
            "type": "string",
            "description": "Site of location.",
            "example": "ORD"
          },
          "pop": {
            "type": "string",
            "description": "Point of presence of location.",
            "example": "CH1"
          },
          "code": {
            "type": "string",
            "description": "Location code.",
            "example": "chicago-il"
          },
          "name": {
            "type": "string",
            "description": "Human readable name of location.",
            "example": "Chicago IL, US"
          }
        }
      },
      "netapps_Region": {
        "type": "object",
        "title": "Region",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Identifies the type of the resource.",
            "readOnly": true,
            "example": "region"
          },
          "code": {
            "type": "string",
            "description": "A code for the region.",
            "example": "ashburn-va"
          },
          "name": {
            "type": "string",
            "description": "A name for the region.",
            "example": "Ashburn"
          },
          "supported_interfaces": {
            "type": "array",
            "description": "List of interface types supported in this region.",
            "items": {
              "type": "string",
              "example": "wireguard_interface"
            }
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was created.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
            "readOnly": true,
            "example": "2018-02-02T22:25:27.521Z"
          }
        }
      },
      "notifications_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "x-format": "int64"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "notifications_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/notifications_Error"
            }
          }
        },
        "type": "object"
      },
      "number-lookup_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "number-lookup_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/number-lookup_Error"
            }
          }
        },
        "type": "object"
      },
      "numbers_Error": {
        "properties": {
          "code": {
            "type": "string",
            "example": "10007"
          },
          "title": {
            "type": "string",
            "example": "Unexpected error"
          },
          "detail": {
            "type": "string",
            "example": "An unexpected error occured."
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "example": "/base"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "URL with additional information on the error.",
                "example": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          }
        },
        "type": "object"
      },
      "numbers_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/numbers_Error"
            }
          }
        },
        "type": "object"
      },
      "numbers_IntId": {
        "type": "string",
        "description": "Identifies the resource.",
        "example": "1293384261075731499",
        "readOnly": true
      },
      "oauth_Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error code"
          },
          "error_description": {
            "type": "string",
            "description": "Human-readable error description"
          }
        },
        "required": [
          "error"
        ]
      },
      "oauth_PaginationMeta": {
        "type": "object",
        "properties": {
          "page_number": {
            "type": "integer",
            "description": "Current page number"
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page"
          },
          "total_results": {
            "type": "integer",
            "description": "Total number of results"
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages"
          }
        }
      },
      "organization_id": {
        "type": "string",
        "format": "uuid",
        "description": "The id from the Organization the authentication provider belongs to.",
        "example": "24b4a4bb-c4df-46ad-bbcb-23fc741c5ad7"
      },
      "phone_number": {
        "type": "string",
        "description": "The phone number associated with the address.",
        "example": "+12125559000"
      },
      "postal_code": {
        "type": "string",
        "description": "The postal code of the address.",
        "example": "78701"
      },
      "programmable-fax_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "programmable-fax_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/programmable-fax_Error"
            }
          }
        },
        "type": "object"
      },
      "programmable-fax_RecordType": {
        "type": "string",
        "example": "event",
        "enum": [
          "event"
        ],
        "description": "Identifies the type of the resource."
      },
      "pronunciation-dicts_ErrorResponse": {
        "type": "object",
        "description": "Standard Telnyx error response.",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorObject"
            }
          }
        }
      },
      "pronunciation-dicts_PaginationMeta": {
        "type": "object",
        "description": "Pagination metadata returned with list responses.",
        "properties": {
          "page_number": {
            "type": "integer",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "description": "Number of results per page.",
            "example": 20
          },
          "total_results": {
            "type": "integer",
            "description": "Total number of results across all pages.",
            "example": 3
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages.",
            "example": 1
          }
        }
      },
      "push-notifications_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "example": "10015"
          },
          "title": {
            "type": "string",
            "example": "Bad Request"
          },
          "detail": {
            "type": "string",
            "example": "has already been taken"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "example": "/mobile_push_credentials"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string",
                "example": "application_name"
              }
            }
          },
          "meta": {
            "type": "object",
            "example": {
              "url": "https://developers.telnyx.com/docs/overview/errors/10015"
            },
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "push-notifications_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/push-notifications_Error"
            }
          }
        },
        "type": "object"
      },
      "reporting_Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "10011"
          },
          "title": {
            "type": "string",
            "example": "Bad Request"
          },
          "detail": {
            "type": "string",
            "example": "Invalid parameter value"
          }
        }
      },
      "reporting_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reporting_Error"
            }
          }
        }
      },
      "reporting_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "example": 25
          }
        }
      },
      "settings": {
        "type": "object",
        "description": "The settings associated with the authentication provider.",
        "required": [
          "idp_entity_id",
          "idp_sso_target_url",
          "idp_cert_fingerprint"
        ],
        "properties": {
          "idp_entity_id": {
            "type": "string",
            "description": "The Entity ID for the identity provider (IdP).",
            "format": "uri",
            "example": "https://myorg.myidp.com/saml/metadata"
          },
          "idp_sso_target_url": {
            "type": "string",
            "description": "The SSO target url for the identity provider (IdP).",
            "format": "uri",
            "example": "https://myorg.myidp.com/trust/saml2/http-post/sso"
          },
          "idp_cert_fingerprint": {
            "type": "string",
            "description": "The certificate fingerprint for the identity provider (IdP)",
            "example": "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7"
          },
          "idp_cert_fingerprint_algorithm": {
            "type": "string",
            "description": "The algorithm used to generate the identity provider's (IdP) certificate fingerprint",
            "enum": [
              "sha1",
              "sha256",
              "sha384",
              "sha512"
            ],
            "default": "sha1",
            "example": "sha256"
          }
        }
      },
      "settings_url": {
        "type": "string",
        "description": "The URL for the identity provider metadata file to populate the settings automatically. If the settings attribute is provided, that will be used instead.",
        "format": "uri",
        "example": "https://myorg.myidp.com/saml/metadata"
      },
      "short_name": {
        "type": "string",
        "description": "The short name associated with the authentication provider. This must be unique and URL-friendly, as it's going to be part of the login URL.",
        "example": "myorg"
      },
      "siprec_Error": {
        "type": "object",
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "JSON pointer (RFC6901) to the offending entity."
              },
              "parameter": {
                "type": "string",
                "description": "Indicates which query parameter caused the error."
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "siprec_Errors": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/siprec_Error"
            }
          }
        }
      },
      "skip_address_verification": {
        "type": "boolean",
        "description": "An optional boolean value specifying if verification of the address should be skipped or not. UserAddresses are generally used for shipping addresses, and failure to validate your shipping address will likely result in a failure to deliver SIM cards or other items ordered from Telnyx. Do not use this parameter unless you are sure that the address is correct even though it cannot be validated. If this is set to any value other than true, verification of the address will be attempted, and the user address will not be allowed if verification fails. If verification fails but suggested values are available that might make the address correct, they will be present in the response as well. If this value is set to true, then the verification will not be attempted. Defaults to false (verification will be performed).",
        "default": false
      },
      "soniox_models": {
        "type": "string",
        "enum": [
          "soniox/stt-rt-v4"
        ]
      },
      "speech-to-text_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "format": "integer"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "format": "json-pointer"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "speech-to-text_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/speech-to-text_Error"
            }
          }
        }
      },
      "speechmatics_models": {
        "type": "string",
        "enum": [
          "speechmatics/standard"
        ]
      },
      "standard_Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "Telnyx error code"
          },
          "detail": {
            "type": "string",
            "title": "Error details"
          },
          "title": {
            "type": "string",
            "title": "Error title"
          }
        },
        "required": [
          "detail"
        ],
        "title": "Error"
      },
      "standard_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/standard_Error"
            },
            "title": "Errors"
          }
        },
        "title": "ErrorResponse"
      },
      "standard_MdrGetUsageReportsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MdrUsageReportResponseLegacy"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/standard_PaginationMeta"
          }
        }
      },
      "standard_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "example": 25
          }
        }
      },
      "street_address": {
        "type": "string",
        "description": "The primary street address information about the address.",
        "example": "600 Congress Avenue"
      },
      "telnyx_models": {
        "type": "string",
        "enum": [
          "openai/whisper-tiny",
          "openai/whisper-large-v3-turbo"
        ]
      },
      "text-to-speech_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Error code."
                },
                "title": {
                  "type": "string",
                  "description": "Error title."
                },
                "detail": {
                  "type": "string",
                  "description": "Detailed error description."
                }
              }
            }
          }
        }
      },
      "toll-free-verification_EntityType": {
        "title": "EntityType",
        "type": "string",
        "enum": [
          "SOLE_PROPRIETOR",
          "PRIVATE_PROFIT",
          "PUBLIC_PROFIT",
          "NON_PROFIT",
          "GOVERNMENT"
        ],
        "description": "Business entity classification"
      },
      "toll-free-verification_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "toll-free-verification_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/toll-free-verification_Error"
            }
          }
        },
        "type": "object"
      },
      "usage-reports_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorRecord"
            }
          }
        }
      },
      "usage-reports_RecordType": {
        "type": "object",
        "description": "An object following one of the schemas published in https://developers.telnyx.com/docs/api/v2/detail-records",
        "properties": {
          "record_type": {
            "type": "string",
            "description": "Telnyx Product type",
            "example": "conversation_event"
          },
          "product_dimensions": {
            "type": "array",
            "description": "Telnyx Product Dimensions",
            "example": [
              "direction",
              "currency",
              "message_type"
            ],
            "items": {
              "type": "string"
            }
          },
          "product_metrics": {
            "type": "array",
            "description": "Telnyx Product Metrics",
            "example": [
              "cost",
              "billed_sec"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "user-addresses_administrative_area": {
        "type": "string",
        "description": "The locality of the user address. For US addresses, this corresponds to the state of the address.",
        "example": "TX"
      },
      "user-addresses_borough": {
        "type": "string",
        "description": "The borough of the user address. This field is not used for addresses in the US but is used for some international addresses.",
        "example": "Guadalajara"
      },
      "user-addresses_business_name": {
        "type": "string",
        "description": "The business name associated with the user address.",
        "example": "Toy-O'Kon"
      },
      "user-addresses_country_code": {
        "type": "string",
        "description": "The two-character (ISO 3166-1 alpha-2) country code of the user address.",
        "example": "US"
      },
      "user-addresses_extended_address": {
        "type": "string",
        "description": "Additional street address information about the user address such as, but not limited to, unit number or apartment number.",
        "example": "14th Floor"
      },
      "user-addresses_first_name": {
        "type": "string",
        "description": "The first name associated with the user address.",
        "example": "Alfred"
      },
      "user-addresses_last_name": {
        "type": "string",
        "description": "The last name associated with the user address.",
        "example": "Foster"
      },
      "user-addresses_locality": {
        "type": "string",
        "description": "The locality of the user address. For US addresses, this corresponds to the city of the address.",
        "example": "Austin"
      },
      "user-addresses_neighborhood": {
        "type": "string",
        "description": "The neighborhood of the user address. This field is not used for addresses in the US but is used for some international addresses.",
        "example": "Ciudad de los deportes"
      },
      "user-addresses_phone_number": {
        "type": "string",
        "description": "The phone number associated with the user address.",
        "example": "+12125559000"
      },
      "user-addresses_postal_code": {
        "type": "string",
        "description": "The postal code of the user address.",
        "example": "78701"
      },
      "user-addresses_street_address": {
        "type": "string",
        "description": "The primary street address information about the user address.",
        "example": "600 Congress Avenue"
      },
      "users_PaginationMeta": {
        "title": "Pagination Meta",
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "validate_address": {
        "type": "boolean",
        "description": "Indicates whether or not the address should be validated for emergency use upon creation or not. This should be left with the default value of `true` unless you have used the `/addresses/actions/validate` endpoint to validate the address separately prior to creation. If an address is not validated for emergency use upon creation and it is not valid, it will not be able to be used for emergency services.",
        "example": true,
        "default": true
      },
      "verified-numbers_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "URL with additional information on the error."
              }
            }
          }
        },
        "type": "object"
      },
      "verified-numbers_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/verified-numbers_Error"
            }
          }
        },
        "type": "object"
      },
      "verified-numbers_Meta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "verify_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string",
            "example": "10015"
          },
          "title": {
            "type": "string",
            "example": "Invalid sorting value"
          },
          "detail": {
            "type": "string",
            "example": "The value provided for sorting is not valid. Check the value used and try again."
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string",
                "example": "/sort"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "URL with additional information on the error.",
                "example": "https://developers.telnyx.com/docs/overview/errors/10015"
              }
            }
          }
        },
        "type": "object"
      },
      "verify_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/verify_Error"
            }
          }
        },
        "type": "object"
      },
      "verify_Meta": {
        "type": "object",
        "required": [
          "total_pages",
          "total_results",
          "page_size",
          "page_number"
        ],
        "properties": {
          "total_pages": {
            "type": "integer",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "example": 25
          }
        }
      },
      "video_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "video_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/video_Error"
            }
          }
        },
        "type": "object"
      },
      "voice-channels_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "voice-channels_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice-channels_Error"
            }
          }
        },
        "type": "object"
      },
      "voice-designs_ErrorObject": {
        "type": "object",
        "description": "A single error object.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Telnyx-specific error code."
          },
          "title": {
            "type": "string",
            "description": "Short, human-readable summary of the error."
          },
          "detail": {
            "type": "string",
            "description": "Detailed, human-readable explanation of the error."
          },
          "source": {
            "type": "object",
            "description": "Reference to the source of the error.",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "A JSON Pointer (RFC 6901) to the field that caused the error."
              }
            }
          }
        }
      },
      "voice-designs_ErrorResponse": {
        "type": "object",
        "description": "Standard error response envelope.",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice-designs_ErrorObject"
            }
          }
        },
        "example": {
          "errors": [
            {
              "code": "10005",
              "title": "Resource not found",
              "detail": "Voice design not found"
            }
          ]
        }
      },
      "voice-designs_PaginationMeta": {
        "type": "object",
        "description": "Pagination metadata returned with list responses.",
        "properties": {
          "page_number": {
            "type": "integer",
            "description": "Current page number (1-based)."
          },
          "page_size": {
            "type": "integer",
            "description": "Number of results per page."
          },
          "total_results": {
            "type": "integer",
            "description": "Total number of results across all pages."
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages."
          }
        },
        "example": {
          "page_number": 1,
          "page_size": 20,
          "total_results": 42,
          "total_pages": 3
        }
      },
      "webhook_delivery": {
        "description": "Record of all attempts to deliver a webhook.",
        "properties": {
          "id": {
            "description": "Uniquely identifies the webhook_delivery record.",
            "type": "string",
            "format": "uuid",
            "example": "f5586561-8ff0-4291-a0ac-84fe544797bd"
          },
          "user_id": {
            "description": "Uniquely identifies the user that owns the webhook_delivery record.",
            "type": "string",
            "format": "uuid",
            "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
          },
          "record_type": {
            "description": "Identifies the type of the resource.",
            "type": "string",
            "example": "webhook_delivery"
          },
          "status": {
            "description": "Delivery status: 'delivered' when successfuly delivered or 'failed' if all attempts have failed.",
            "enum": [
              "delivered",
              "failed"
            ],
            "type": "string"
          },
          "webhook": {
            "description": "Original webhook JSON data. Payload fields vary according to event type.",
            "type": "object",
            "properties": {
              "record_type": {
                "type": "string",
                "example": "event",
                "enum": [
                  "event"
                ],
                "description": "Identifies the type of the resource."
              },
              "event_type": {
                "type": "string",
                "example": "webhook.command",
                "description": "The type of event being delivered."
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
                "description": "Identifies the type of resource."
              },
              "occurred_at": {
                "type": "string",
                "format": "date-time",
                "example": "2018-02-02T22:25:27.521992Z",
                "description": "ISO 8601 datetime of when the event occurred."
              },
              "payload": {
                "type": "object",
                "additionalProperties": true
              }
            },
            "example": {
              "record_type": "event",
              "id": "C9C0797E-901D-4349-A33C-C2C8F31A92C2",
              "event_type": "call_initiated",
              "occurred_at": "2020-08-10T13:02:01.000Z",
              "payload": {
                "useful": "information"
              }
            }
          },
          "started_at": {
            "description": "ISO 8601 timestamp indicating when the first request attempt was initiated.",
            "type": "string",
            "format": "date-time",
            "example": "2020-08-10T14:00:00.000Z"
          },
          "finished_at": {
            "description": "ISO 8601 timestamp indicating when the last webhook response has been received.",
            "type": "string",
            "format": "date-time",
            "example": "2020-08-10T14:00:05.595Z"
          },
          "attempts": {
            "description": "Detailed delivery attempts, ordered by most recent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attempt"
            },
            "example": [
              {
                "status": "delivered",
                "started_at": "2020-08-10T14:00:05.364Z",
                "finished_at": "2020-08-10T14:00:05.595Z",
                "http": {
                  "request": {
                    "url": "https://fallback.example.com/webhooks",
                    "headers": [
                      [
                        "Accept",
                        "*/*"
                      ]
                    ]
                  },
                  "response": {
                    "status": 200,
                    "headers": [
                      [
                        "Content-Type",
                        "text/html"
                      ]
                    ],
                    "body": "All good."
                  }
                }
              },
              {
                "status": "failed",
                "started_at": "2020-08-10T14:00:05.004Z",
                "finished_at": "2020-08-10T14:00:05.360Z",
                "http": {
                  "request": {
                    "url": "https://typo.example.com/webhooks",
                    "headers": [
                      [
                        "Accept",
                        "*/*"
                      ]
                    ]
                  },
                  "response": {
                    "status": 404,
                    "headers": [
                      [
                        "Content-Type",
                        "text/html"
                      ],
                      [
                        "Pragma",
                        "no-cache"
                      ]
                    ],
                    "body": "Oops. Not found."
                  }
                },
                "errors": [
                  75499
                ]
              }
            ]
          }
        }
      },
      "wireless-public_Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "10011"
          },
          "title": {
            "type": "string",
            "example": "Bad Request"
          },
          "detail": {
            "type": "string",
            "example": "Invalid parameter value"
          }
        }
      },
      "wireless-public_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/wireless-public_Error"
            }
          }
        }
      },
      "wireless-public_PaginationMeta": {
        "type": "object",
        "properties": {
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "total_results": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "page_number": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "example": 25
          }
        }
      },
      "wireless_CreatedAt": {
        "type": "string",
        "description": "ISO 8601 formatted date-time indicating when the resource was created.",
        "readOnly": true,
        "example": "2018-02-02T22:25:27.521Z"
      },
      "wireless_Error": {
        "required": [
          "code",
          "title"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "description": "JSON pointer (RFC6901) to the offending entity.",
                "type": "string"
              },
              "parameter": {
                "description": "Indicates which query parameter caused the error.",
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "type": "object"
      },
      "wireless_Errors": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/wireless_Error"
            }
          }
        },
        "type": "object"
      },
      "wireless_Id": {
        "type": "string",
        "format": "uuid",
        "description": "Identifies the resource.",
        "readOnly": true,
        "example": "6a09cdc3-8948-47f0-aa62-74ac943d6c58"
      },
      "wireless_Region": {
        "type": "object",
        "title": "Region",
        "properties": {
          "code": {
            "type": "string",
            "description": "The unique code of the region.",
            "example": "dc2"
          },
          "name": {
            "type": "string",
            "description": "The name of the region.",
            "example": "Washington DC, US"
          },
          "inserted_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the region was inserted."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the region was last updated."
          }
        },
        "required": [
          "code",
          "name"
        ]
      },
      "wireless_UpdatedAt": {
        "type": "string",
        "description": "ISO 8601 formatted date-time indicating when the resource was updated.",
        "readOnly": true,
        "example": "2018-02-02T22:25:27.521Z"
      },
      "x402-transactions_ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "detail": {
                  "type": "string"
                },
                "meta": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "pointer": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "xai_models": {
        "type": "string",
        "enum": [
          "xai/grok-stt"
        ]
      },
      "x402PaymentRequired": {
        "type": "object",
        "description": "x402 v2 Payment Required envelope. Returned by the x402 facilitator gateway when payment is required to access this operation. The same envelope is returned as the response body and base64-encoded in the `payment-required` HTTP response header.",
        "required": [
          "x402Version",
          "error",
          "accepts"
        ],
        "properties": {
          "x402Version": {
            "type": "integer",
            "const": 2,
            "description": "x402 protocol version. Always 2."
          },
          "error": {
            "type": "string",
            "description": "Human-readable error string (e.g. 'Payment required')."
          },
          "resource": {
            "type": "object",
            "description": "The paid resource the client attempted to access.",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "method": {
                "type": "string",
                "enum": [
                  "GET",
                  "POST"
                ]
              },
              "description": {
                "type": "string"
              },
              "mimeType": {
                "type": "string"
              }
            }
          },
          "accepts": {
            "type": "array",
            "description": "Accepted payment methods, in preference order.",
            "items": {
              "type": "object",
              "required": [
                "scheme",
                "network",
                "amount",
                "asset",
                "payTo"
              ],
              "properties": {
                "scheme": {
                  "type": "string"
                },
                "network": {
                  "type": "string"
                },
                "amount": {
                  "type": "string"
                },
                "asset": {
                  "type": "string"
                },
                "payTo": {
                  "type": "string"
                },
                "maxTimeoutSeconds": {
                  "type": "integer"
                },
                "extra": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "description": "Vendor-defined extensions (e.g. catalog URLs, headers).",
            "additionalProperties": true
          }
        }
      },
      "x402ChatCompletionResponse": {
        "type": "object",
        "description": "OpenAI-compatible chat completion response. Returned by the x402 gateway after payment settles. Schema is the minimal subset of the OpenAI chat-completions response that downstream clients rely on.",
        "required": [
          "id",
          "object",
          "choices"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the completion."
          },
          "object": {
            "type": "string",
            "const": "chat.completion"
          },
          "choices": {
            "type": "array",
            "description": "Generated completion choices (typically one).",
            "items": {
              "type": "object",
              "required": [
                "index",
                "message",
                "finish_reason"
              ],
              "properties": {
                "index": {
                  "type": "integer",
                  "minimum": 0
                },
                "message": {
                  "type": "object",
                  "required": [
                    "role",
                    "content"
                  ],
                  "properties": {
                    "role": {
                      "type": "string",
                      "enum": [
                        "system",
                        "user",
                        "assistant",
                        "tool"
                      ]
                    },
                    "content": {
                      "type": "string"
                    }
                  }
                },
                "finish_reason": {
                  "type": "string",
                  "description": "Why generation stopped (e.g. 'stop', 'length', 'tool_calls')."
                }
              }
            }
          },
          "usage": {
            "type": "object",
            "description": "Token usage for the request.",
            "properties": {
              "prompt_tokens": {
                "type": "integer",
                "minimum": 0
              },
              "completion_tokens": {
                "type": "integer",
                "minimum": 0
              },
              "total_tokens": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      },
      "branded-calling_bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "API key passed as a Bearer token in the Authorization header"
      },
      "oauthClientAuth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api.telnyx.com/v2/oauth/token",
            "scopes": {
              "admin": "Administrative access to Telnyx resources"
            }
          },
          "authorizationCode": {
            "authorizationUrl": "https://api.telnyx.com/v2/oauth/authorize",
            "tokenUrl": "https://api.telnyx.com/v2/oauth/token",
            "refreshUrl": "https://api.telnyx.com/v2/oauth/token",
            "scopes": {
              "admin": "Administrative access to Telnyx resources"
            }
          }
        },
        "description": "OAuth 2.0 authentication for Telnyx API and MCP integrations"
      },
      "outbound-voice-profiles_bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "pronunciation-dicts_bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Telnyx API v2 key. Obtain from https://portal.telnyx.com"
      },
      "stored-payment-transactions_bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "webhooks": {
    "CallAIGatherEnded": {
      "post": {
        "summary": "Call AI Gather Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallAIGatherEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallAIGatherEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "CallAIGatherMessageHistoryUpdated": {
      "post": {
        "summary": "Call AI Gather Message History Updated",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallAIGatherMessageHistoryUpdatedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallAIGatherMessageHistoryUpdated",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "CallAIGatherPartialResults": {
      "post": {
        "summary": "Call AI Gather Partial Results",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallAIGatherPartialResultsEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallAIGatherPartialResults",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callAnswered": {
      "post": {
        "summary": "Call Answered",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallAnsweredEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallAnswered",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callBridged": {
      "post": {
        "summary": "Call Bridged",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallBridgedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallBridged",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callConversationEnded": {
      "post": {
        "summary": "Call Conversation Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/callConversationEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallConversationEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callConversationInsightsGenerated": {
      "post": {
        "summary": "Call Conversation Insights Generated",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/callConversationInsightsGeneratedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallConversationInsightsGenerated",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callCost": {
      "post": {
        "summary": "Call Cost",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallCostEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallCost",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callDeepfakeDetectionError": {
      "post": {
        "summary": "Call Deepfake Detection Error",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallDeepfakeDetectionErrorEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallDeepfakeDetectionError",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callDeepfakeDetectionResult": {
      "post": {
        "summary": "Call Deepfake Detection Result",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallDeepfakeDetectionResultEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallDeepfakeDetectionResult",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callDtmfReceived": {
      "post": {
        "summary": "Call Dtmf Received",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallDtmfReceivedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallDtmfReceived",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callEnqueued": {
      "post": {
        "summary": "Call Enqueued",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallEnqueuedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallEnqueued",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callForkStarted": {
      "post": {
        "summary": "Call Fork Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallForkStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallForkStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callForkStopped": {
      "post": {
        "summary": "Call Fork Stopped",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallForkStoppedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallForkStopped",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callGatherEnded": {
      "post": {
        "summary": "Call Gather Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallGatherEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallGatherEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callHangup": {
      "post": {
        "summary": "Call Hangup",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallHangupEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallHangup",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callHold": {
      "post": {
        "summary": "Call Hold",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallHoldEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallHold",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callInitiated": {
      "post": {
        "operationId": "CallInitiated",
        "summary": "Call Initiated",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallInitiatedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callLeftQueue": {
      "post": {
        "summary": "Call Left Queue",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallLeftQueueEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallLeftQueue",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callMachineDetectionEnded": {
      "post": {
        "summary": "Call Machine Detection Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallMachineDetectionEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallMachineDetectionEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callMachineGreetingEnded": {
      "post": {
        "summary": "Call Machine Greeting Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallMachineGreetingEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallMachineGreetingEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callMachinePremiumDetectionEnded": {
      "post": {
        "summary": "Call Machine Premium Detection Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallMachinePremiumDetectionEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallMachinePremiumDetectionEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callMachinePremiumGreetingEnded": {
      "post": {
        "summary": "Call Machine Premium Greeting Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallMachinePremiumGreetingEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallMachinePremiumGreetingEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callPlaybackEnded": {
      "post": {
        "summary": "Call Playback Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallPlaybackEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallPlaybackEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callPlaybackStarted": {
      "post": {
        "summary": "Call Playback Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallPlaybackStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallPlaybackStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callRecordingError": {
      "post": {
        "summary": "Call Recording Error",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/callRecordingErrorEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallRecordingError",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callRecordingSaved": {
      "post": {
        "summary": "Call Recording Saved",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallRecordingSavedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallRecordingSaved",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callRecordingTranscriptionSaved": {
      "post": {
        "summary": "Call Recording Transcription Saved",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/callRecordingTranscriptionSavedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallRecordingTranscriptionSaved",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callReferCompleted": {
      "post": {
        "summary": "Call Refer Completed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallReferCompletedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallReferCompleted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callReferFailed": {
      "post": {
        "summary": "Call Refer Failed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallReferFailedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallReferFailed",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callReferStarted": {
      "post": {
        "summary": "Call Refer Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallReferStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallReferStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callSiprecFailed": {
      "post": {
        "summary": "Call Siprec Failed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallSiprecFailedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallSiprecFailed",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callSiprecStarted": {
      "post": {
        "summary": "Call Siprec Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallSiprecStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallSiprecStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callSiprecStopped": {
      "post": {
        "summary": "Call Siprec Stopped",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallSiprecStoppedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallSiprecStopped",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callSpeakEnded": {
      "post": {
        "summary": "Call Speak Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallSpeakEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallSpeakEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callSpeakStarted": {
      "post": {
        "summary": "Call Speak Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallSpeakStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallSpeakStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callStreamingFailed": {
      "post": {
        "summary": "Call Streaming Failed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallStreamingFailedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallStreamingFailed",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callStreamingStarted": {
      "post": {
        "summary": "Call Streaming Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallStreamingStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallStreamingStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callStreamingStopped": {
      "post": {
        "summary": "Call Streaming Stopped",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallStreamingStoppedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallStreamingStopped",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "callUnhold": {
      "post": {
        "summary": "Call Unhold",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallUnholdEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "CallUnhold",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "campaignStatusUpdate": {
      "post": {
        "operationId": "CampaignStatusUpdate",
        "summary": "Campaign Status Update",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignStatusUpdateEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return a HTTP 200, otherwise we will reattempt to deliver the webhook to the failover URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceCreated": {
      "post": {
        "summary": "Conference Created",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceCreatedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceCreated",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceEnded": {
      "post": {
        "summary": "Conference Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceFloorChanged": {
      "post": {
        "summary": "Conference Floor Changed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceFloorChangedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceFloorChanged",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantJoined": {
      "post": {
        "summary": "Conference Participant Joined",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantJoinedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantJoined",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantLeft": {
      "post": {
        "summary": "Conference Participant Left",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantLeftEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantLeft",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantPlaybackEnded": {
      "post": {
        "summary": "Conference Participant Playback Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantPlaybackEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantPlaybackEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantPlaybackStarted": {
      "post": {
        "summary": "Conference Participant Playback Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantPlaybackStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantPlaybackStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantSpeakEnded": {
      "post": {
        "summary": "Conference Participant Speak Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantSpeakEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantSpeakEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceParticipantSpeakStarted": {
      "post": {
        "summary": "Conference Participant Speak Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceParticipantSpeakStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceParticipantSpeakStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferencePlaybackEnded": {
      "post": {
        "summary": "Conference Playback Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferencePlaybackEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferencePlaybackEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferencePlaybackStarted": {
      "post": {
        "summary": "Conference Playback Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferencePlaybackStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferencePlaybackStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceRecordingSaved": {
      "post": {
        "summary": "Conference Recording Saved",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceRecordingSavedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceRecordingSaved",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceSpeakEnded": {
      "post": {
        "summary": "Conference Speak Ended",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceSpeakEndedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceSpeakEnded",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "conferenceSpeakStarted": {
      "post": {
        "summary": "Conference Speak Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConferenceSpeakStartedEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ConferenceSpeakStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "deliveryUpdate": {
      "post": {
        "summary": "Delivery Update",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutboundMessageEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "DeliveryUpdate",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "fax.delivered": {
      "post": {
        "summary": "Fax Delivered",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxDelivered"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "FaxDelivered",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "fax.failed": {
      "post": {
        "summary": "Fax Failed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxFailed"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "FaxFailed",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "fax.media.processed": {
      "post": {
        "summary": "Fax Media Processed",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxMediaProcessed"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "FaxMediaProcessed",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "fax.queued": {
      "post": {
        "operationId": "FaxQueued",
        "summary": "Fax Queued",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxQueued"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "fax.sending.started": {
      "post": {
        "summary": "Fax Sending Started",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxSendingStarted"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "FaxSendingStarted",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "hostedNumberOrderEvent": {
      "post": {
        "operationId": "HostedNumberOrderEvent",
        "summary": "Hosted Number Order Event",
        "description": "Webhook fired when a messaging hosted number order is created, updated, deleted, or progresses through the internal-transfer lifecycle (detected, approval requested, approved, rejected, auto-approved). Inspect `event_type` to distinguish events.\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostedNumberOrderEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "inboundMessage": {
      "post": {
        "operationId": "InboundMessage",
        "summary": "Inbound Message",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InboundMessageEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "numberOrderStatusUpdate": {
      "post": {
        "operationId": "NumberOrderStatusUpdate",
        "summary": "Number Order Status Update",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NumberOrderWebhookEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return a HTTP 200, otherwise we will reattempt to deliver the webhook to the failover URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "tags": [
          "Callbacks"
        ]
      }
    },
    "replacedLinkClick": {
      "post": {
        "summary": "Replaced Link Click",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplacedLinkClickEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "ReplacedLinkClick",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "transcription": {
      "post": {
        "summary": "Transcription",
        "description": "\n\nThis webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TranscriptionEvent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL."
          }
        },
        "parameters": [
          {
            "name": "telnyx-timestamp",
            "in": "header",
            "required": true,
            "description": "Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp",
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Unix timestamp for replay attack prevention"
            },
            "x-webhook-equivalent": "webhook-timestamp"
          },
          {
            "name": "telnyx-signature-ed25519",
            "in": "header",
            "required": true,
            "description": "Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature",
            "schema": {
              "type": "string",
              "description": "Ed25519 signature of timestamp|payload for verification"
            },
            "x-webhook-equivalent": "webhook-signature"
          }
        ],
        "operationId": "Transcription",
        "tags": [
          "Callbacks"
        ]
      }
    }
  },
  "x-service-info": {
    "categories": [
      "communication",
      "developer-tools"
    ],
    "docs": {
      "apiReference": "https://developers.telnyx.com",
      "homepage": "https://telnyx.com",
      "llms": "https://telnyx.com/llms.txt"
    }
  }
}
