Telnyx · Schema

Outbound Voice Profile

CommunicationsCPaaSVoiceSMSIoTTelecommunicationsMessagingArtificial IntelligenceMCPVoice AIPhone NumbersInference

Properties

Name Type Description
billing_group_id stringnull The ID of the billing group associated with the outbound proflile. Defaults to null (for no group assigned).
call_recording object
calling_window object (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.
concurrent_call_limit integernull Must be no more than your global concurrent call limit. Null means no limit.
daily_spend_limit string 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.
daily_spend_limit_enabled boolean Specifies whether to enforce the daily_spend_limit on this outbound voice profile.
enabled boolean Specifies whether the outbound voice profile can be used. Disabled profiles will result in outbound calls being blocked for the associated Connections.
max_destination_rate number Maximum rate (price per minute) for a Destination to be allowed when making outbound calls.
name string A user-supplied name to help with organization.
service_plan object
tags array
traffic_type object
usage_payment_method object
whitelisted_destinations array The list of destinations you want to be able to call using this outbound voice profile formatted in alpha2.
View JSON Schema on GitHub

JSON Schema

telnyx-create-outbound-voice-profile-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-create-outbound-voice-profile-request-schema.json",
  "title": "Outbound Voice Profile",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-outbound-voice-profiles-api-openapi.yml#/components/schemas/CreateOutboundVoiceProfileRequest",
  "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).",
      "format": "uuid",
      "type": [
        "string",
        "null"
      ]
    },
    "call_recording": {
      "$ref": "#/$defs/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.",
      "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.",
          "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.",
          "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.",
          "format": "time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "concurrent_call_limit": {
      "description": "Must be no more than your global concurrent call limit. Null means no limit.",
      "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.",
      "type": "string"
    },
    "daily_spend_limit_enabled": {
      "default": false,
      "description": "Specifies whether to enforce the daily_spend_limit on this outbound voice profile.",
      "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.",
      "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.",
      "minLength": 3,
      "type": "string"
    },
    "service_plan": {
      "$ref": "#/$defs/ServicePlan"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "traffic_type": {
      "$ref": "#/$defs/TrafficType"
    },
    "usage_payment_method": {
      "$ref": "#/$defs/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.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "name"
  ],
  "type": "object",
  "$defs": {
    "OutboundCallRecording": {
      "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.",
          "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"
          ],
          "type": "string"
        },
        "call_recording_format": {
          "default": "wav",
          "description": "The audio file format for calls being recorded.",
          "enum": [
            "wav",
            "mp3"
          ],
          "type": "string"
        },
        "call_recording_type": {
          "description": "Specifies which calls are recorded.",
          "enum": [
            "all",
            "none",
            "by_caller_phone_number"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServicePlan": {
      "default": "global",
      "description": "Indicates the coverage of the termination regions.",
      "enum": [
        "global"
      ],
      "type": "string"
    },
    "TrafficType": {
      "default": "conversational",
      "description": "Specifies the type of traffic allowed in this profile.",
      "enum": [
        "conversational"
      ],
      "type": "string"
    },
    "UsagePaymentMethod": {
      "default": "rate-deck",
      "description": "Setting for how costs for outbound profile are calculated.",
      "enum": [
        "rate-deck"
      ],
      "type": "string"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/telnyx-create-outbound-voice-profile-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.