openapi: 3.1.0 info: contact: email: support@telnyx.com 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. title: Telnyx Access Tokens Outbound Voice Profiles API version: 2.0.0 x-endpoint-cost: light servers: - description: Version 2.0.0 of the Telnyx API url: https://api.telnyx.com/v2 security: - bearerAuth: [] tags: - description: Outbound voice profiles operations name: Outbound Voice Profiles paths: /outbound_voice_profiles: get: description: Get all outbound voice profiles belonging to the user that match the given filters. operationId: ListOutboundVoiceProfiles 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 summary: Get all outbound voice profiles tags: - Outbound Voice Profiles x-endpoint-cost: medium x-group-parameters: 'true' x-latency-category: responsive post: description: Create an outbound voice profile. operationId: CreateVoiceProfile requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOutboundVoiceProfileRequest' description: Parameters that can be defined when creating an outbound voice profile required: true responses: '200': $ref: '#/components/responses/OutboundVoiceProfileResponse' '401': description: Unauthorized '404': description: Resource not found '422': description: Bad request summary: Create an outbound voice profile tags: - Outbound Voice Profiles x-latency-category: responsive /outbound_voice_profiles/{id}: delete: description: Deletes an existing outbound voice profile. operationId: DeleteOutboundVoiceProfile parameters: - $ref: '#/components/parameters/id' responses: '200': $ref: '#/components/responses/OutboundVoiceProfileResponse' '401': description: Unauthorized '404': description: Resource not found '422': description: Bad request summary: Delete an outbound voice profile tags: - Outbound Voice Profiles x-latency-category: responsive get: description: Retrieves the details of an existing outbound voice profile. operationId: GetOutboundVoiceProfile parameters: - $ref: '#/components/parameters/id' responses: '200': $ref: '#/components/responses/OutboundVoiceProfileResponse' '401': description: Unauthorized '404': description: Resource not found '422': description: Bad request summary: Retrieve an outbound voice profile tags: - Outbound Voice Profiles x-latency-category: responsive patch: description: Updates an existing outbound voice profile. operationId: UpdateOutboundVoiceProfile parameters: - $ref: '#/components/parameters/id' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateOutboundVoiceProfileRequest' description: Parameters that can be updated on an outbound voice profile required: true responses: '200': $ref: '#/components/responses/OutboundVoiceProfileResponse' '401': description: Unauthorized '404': description: Resource not found '422': description: Bad request summary: Updates an existing outbound voice profile. tags: - Outbound Voice Profiles x-latency-category: responsive components: schemas: ServicePlan: default: global description: Indicates the coverage of the termination regions. enum: - global example: global type: string OutboundVoiceProfile: example: billing_group_id: 6a09cdc3-8948-47f0-aa62-74ac943d6c58 call_recording: call_recording_caller_phone_numbers: - '+19705555098' call_recording_channels: dual call_recording_format: mp3 call_recording_type: by_caller_phone_number calling_window: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z concurrent_call_limit: 10 connections_count: 12 created_at: '2018-02-02T22:25:27.521Z' daily_spend_limit: '100.00' daily_spend_limit_enabled: true enabled: true id: '1293384261075731499' max_destination_rate: 10 name: office record_type: outbound_voice_profile service_plan: global tags: - office-profile traffic_type: conversational updated_at: '2018-02-02T22:25:27.521Z' usage_payment_method: rate-deck whitelisted_destinations: - US - BR - AU properties: billing_group_id: default: null 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 format: uuid type: - string - 'null' call_recording: $ref: '#/components/schemas/OutboundCallRecording' calling_window: 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: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z properties: calls_per_cld: 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 type: integer end_time: 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 type: string start_time: 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 type: string type: object concurrent_call_limit: description: Must be no more than your global concurrent call limit. Null means no limit. example: 10 type: - integer - 'null' connections_count: description: Amount of connections associated with this outbound voice profile. example: 12 type: integer created_at: description: ISO 8601 formatted date-time indicating when the resource was created. example: '2018-02-02T22:25:27.521Z' type: string daily_spend_limit: 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' type: string daily_spend_limit_enabled: default: false description: Specifies whether to enforce the daily_spend_limit on this outbound voice profile. example: true type: boolean enabled: default: true 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 type: boolean id: description: Identifies the resource. example: '1293384261075731499' type: string max_destination_rate: description: Maximum rate (price per minute) for a Destination to be allowed when making outbound calls. type: number name: description: A user-supplied name to help with organization. example: office minLength: 3 type: string record_type: description: Identifies the type of the resource. example: outbound_voice_profile type: string service_plan: $ref: '#/components/schemas/ServicePlan' tags: example: - office-profile items: type: string type: array traffic_type: $ref: '#/components/schemas/TrafficType' updated_at: description: ISO 8601 formatted date-time indicating when the resource was updated. example: '2018-02-02T22:25:27.521Z' type: string usage_payment_method: $ref: '#/components/schemas/UsagePaymentMethod' whitelisted_destinations: default: - US - CA description: The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2. example: - US - BR - AU items: type: string type: array required: - name title: Outbound Voice Profile type: object OutboundCallRecording: example: call_recording_caller_phone_numbers: - '+19705555098' call_recording_channels: dual call_recording_format: mp3 call_recording_type: by_caller_phone_number properties: call_recording_caller_phone_numbers: 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' items: type: string type: array call_recording_channels: default: single 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. enum: - single - dual example: dual type: string call_recording_format: default: wav description: The audio file format for calls being recorded. enum: - wav - mp3 example: mp3 type: string call_recording_type: description: Specifies which calls are recorded. enum: - all - none - by_caller_phone_number type: string type: object PaginationMeta: properties: page_number: example: 2 type: integer page_size: example: 25 type: integer total_pages: example: 3 type: integer total_results: example: 55 type: integer type: object CreateOutboundVoiceProfileRequest: example: billing_group_id: 6a09cdc3-8948-47f0-aa62-74ac943d6c58 calling_window: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z concurrent_call_limit: 10 daily_spend_limit: '100.00' daily_spend_limit_enabled: true enabled: true max_destination_rate: 10 name: office service_plan: global tags: - office-profile traffic_type: conversational usage_payment_method: rate-deck whitelisted_destinations: - US - BR - AU properties: billing_group_id: default: null 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 format: uuid type: - string - 'null' call_recording: $ref: '#/components/schemas/OutboundCallRecording' calling_window: 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: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z properties: calls_per_cld: 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 type: integer end_time: 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 type: string start_time: 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 type: string type: object concurrent_call_limit: description: Must be no more than your global concurrent call limit. Null means no limit. example: 10 type: - integer - 'null' daily_spend_limit: 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' type: string daily_spend_limit_enabled: default: false description: Specifies whether to enforce the daily_spend_limit on this outbound voice profile. example: true type: boolean enabled: default: true 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 type: boolean max_destination_rate: description: Maximum rate (price per minute) for a Destination to be allowed when making outbound calls. type: number name: description: A user-supplied name to help with organization. example: office minLength: 3 type: string service_plan: $ref: '#/components/schemas/ServicePlan' tags: example: - office-profile items: type: string type: array traffic_type: $ref: '#/components/schemas/TrafficType' usage_payment_method: $ref: '#/components/schemas/UsagePaymentMethod' whitelisted_destinations: default: - US - CA description: The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2. example: - US - BR - AU items: type: string type: array required: - name title: Outbound Voice Profile type: object UsagePaymentMethod: default: rate-deck description: Setting for how costs for outbound profile are calculated. enum: - rate-deck example: rate-deck type: string UpdateOutboundVoiceProfileRequest: example: billing_group_id: 6a09cdc3-8948-47f0-aa62-74ac943d6c58 calling_window: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z concurrent_call_limit: 10 daily_spend_limit: '100.00' daily_spend_limit_enabled: true enabled: true max_destination_rate: 10 name: office service_plan: global tags: - office-profile traffic_type: conversational usage_payment_method: rate-deck whitelisted_destinations: - US - BR - AU properties: billing_group_id: default: null 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 format: uuid type: - string - 'null' call_recording: $ref: '#/components/schemas/OutboundCallRecording' calling_window: description: (BETA) Specifies the time window and call limits for calls made using this outbound voice profile. example: calls_per_cld: 5 end_time: 20:00:00.00Z start_time: 08:00:00.00Z properties: calls_per_cld: 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 type: integer end_time: 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 type: string start_time: 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 type: string type: object concurrent_call_limit: description: Must be no more than your global concurrent call limit. Null means no limit. example: 10 type: - integer - 'null' daily_spend_limit: 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' type: string daily_spend_limit_enabled: default: false description: Specifies whether to enforce the daily_spend_limit on this outbound voice profile. example: true type: boolean enabled: default: true 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 type: boolean max_destination_rate: description: Maximum rate (price per minute) for a Destination to be allowed when making outbound calls. type: number name: description: A user-supplied name to help with organization. example: office minLength: 3 type: string service_plan: $ref: '#/components/schemas/ServicePlan' tags: example: - office-profile items: type: string type: array traffic_type: $ref: '#/components/schemas/TrafficType' usage_payment_method: $ref: '#/components/schemas/UsagePaymentMethod' whitelisted_destinations: default: - US - CA description: The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2. example: - US - BR - AU items: type: string type: array required: - name title: Outbound Voice Profile type: object TrafficType: default: conversational description: Specifies the type of traffic allowed in this profile. enum: - conversational example: conversational type: string responses: ListOutboundVoiceProfilesResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/OutboundVoiceProfile' type: array meta: $ref: '#/components/schemas/PaginationMeta' title: List Outbound Voice Profiles Response type: object description: Successful response OutboundVoiceProfileResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/OutboundVoiceProfile' title: Outbound Voice Profile Response type: object description: Successful response parameters: id: description: Identifies the resource. in: path name: id required: true schema: example: '1293384261075731499' type: string outbound-voice-profiles_PageConsolidated: description: 'Consolidated page parameter (deepObject style). Originally: page[size], page[number]' explode: true in: query name: page schema: properties: number: default: 1 description: The page number to load. minimum: 1 type: integer size: default: 20 description: The size of the page. maximum: 250 minimum: 1 type: integer type: object style: deepObject outbound-voice-profiles_FilterConsolidated: description: 'Consolidated filter parameter (deepObject style). Originally: filter[name][contains]' explode: true in: query name: filter schema: properties: name: description: Name filtering operations properties: contains: description: Optional filter on outbound voice profile name. example: office-profile type: string type: object type: object style: deepObject SortOutboundVoiceProfile: description: "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the - prefix.

\nThat is:
" in: query name: sort schema: default: -created_at enum: - enabled - -enabled - created_at - -created_at - name - -name - service_plan - -service_plan - traffic_type - -traffic_type - usage_payment_method - -usage_payment_method example: name type: string securitySchemes: bearerAuth: scheme: bearer type: http branded-calling_bearerAuth: description: API key passed as a Bearer token in the Authorization header scheme: bearer type: http oauthClientAuth: description: OAuth 2.0 authentication for Telnyx API and MCP integrations flows: authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token clientCredentials: scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token type: oauth2 outbound-voice-profiles_bearerAuth: bearerFormat: JWT scheme: bearer type: http pronunciation-dicts_bearerAuth: description: Telnyx API v2 key. Obtain from https://portal.telnyx.com scheme: bearer type: http stored-payment-transactions_bearerAuth: bearerFormat: JWT scheme: bearer type: http