Phone Com · Schema

Extension

CompanyVoIPTelephonyBusiness PhoneSMSVideo ConferencingCommunications

Properties

Name Type Description
usage_type object Can be 'limited' or 'unlimited'. In most cases, changing this will affect your monthly bill.
extension integernull Extension number that callers may dial. On POST, leaving this empty will result in an auto-generated value. On PUT, this field is required.
full_name stringnull Full name of the individual or department to which this extension is assigned
name stringnull User-supplied name for the extension. On POST, leaving this empty will result in an auto-generated value. On PUT, this field is required
timezone stringnull Time zone in IANA time zone database format (like 'America/Los_Angeles')
name_greeting objectnull Greeting that communicates the extension's name
include_in_directory booleannull Whether this extension should be included in the dial-by-name directory for this account.
caller_id stringnull Phone number to use as Caller ID for outgoing calls. Must be a phone number belonging to this account, or one of any additional authorized phone number
local_area_code integernull For outbound calls, this is the North American area code that this extension is calling from
enable_call_waiting booleannull Whether Call Waiting is enabled. Default is TRUE
enable_outbound_calls booleannull Whether outgoing calls are enabled. Default is TRUE.
bypass_hard_phone booleannull Set 'true' if you want to use advanced call handling rules instead of device
voicemail object Voicemail Object.
call_notifications objectnull Call Notifications Object
presence_publish booleannull
presence_subscribe booleannull
route object Extension route
View JSON Schema on GitHub

JSON Schema

phone-com-extension-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/phone-com/main/json-schema/phone-com-extension-schema.json",
  "title": "Extension",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/phone-com-phoenix-api-by-phone-com-openapi.yml#/components/schemas/Extension",
  "type": "object",
  "properties": {
    "usage_type": {
      "enum": [
        "limited",
        "unlimited"
      ],
      "description": "Can be 'limited' or 'unlimited'. In most cases, changing this will affect your monthly bill."
    },
    "extension": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Extension number that callers may dial. On POST, leaving this empty will result in an auto-generated value. On PUT, this field is required."
    },
    "full_name": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 70,
      "description": "Full name of the individual or department to which this extension is assigned"
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 30,
      "description": "User-supplied name for the extension. On POST, leaving this empty will result in an auto-generated value. On PUT, this field is required"
    },
    "timezone": {
      "type": [
        "string",
        "null"
      ],
      "description": "Time zone in IANA time zone database format (like 'America/Los_Angeles')"
    },
    "name_greeting": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Recording ID. Read-only"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of recording"
        }
      },
      "description": "Greeting that communicates the extension's name"
    },
    "include_in_directory": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether this extension should be included in the dial-by-name directory for this account."
    },
    "caller_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "Phone number to use as Caller ID for outgoing calls. Must be a phone number belonging to this account, or one of any additional authorized phone number"
    },
    "local_area_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "For outbound calls, this is the North American area code that this extension is calling from"
    },
    "enable_call_waiting": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether Call Waiting is enabled. Default is TRUE"
    },
    "enable_outbound_calls": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether outgoing calls are enabled. Default is TRUE."
    },
    "bypass_hard_phone": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Set 'true' if you want to use advanced call handling rules instead of device"
    },
    "voicemail": {
      "properties": {
        "enabled": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Whether voicemail is enabled"
        },
        "password": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]+$",
          "description": "Password for accessing voicemail box. Must be digits only."
        },
        "greeting": {
          "properties": {
            "type": {
              "enum": [
                "name",
                "standard",
                "alternate"
              ],
              "description": "The greeting to play. Can be 'name' for the name_greeting as described above, 'standard' for the standard greeting, or 'alternate' for an alternate greeting."
            },
            "standard": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "id": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 1,
                  "description": "Recording ID. Read-only."
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Name of recording"
                }
              },
              "description": "Greeting to be played when type='standard'"
            },
            "alternate": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "id": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 1,
                  "description": "Recording ID. Read-only."
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Name of recording"
                }
              },
              "description": "Greeting to be played when type='alternate'"
            },
            "enable_leave_message_prompt": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Whether to prompt the caller with the following words after the voicemail greeting has been played: 'Please leave your message after the tone. When finished, hang up or press the pound key."
            }
          },
          "description": "Voicemail Greeting Object"
        },
        "transcription": {
          "enum": [
            "human",
            "automated"
          ],
          "description": "Type of voicemail transcription to use. Can be 'human' for high-quality manual transcriptions by human operators, 'automated' for machine-generated transcriptions, or NULL to omit trancriptions"
        },
        "attachments": {
          "enum": [
            "wav",
            "mp3"
          ],
          "description": "If notification emails are being used, this defines the format of the audio attachments. Can be 'wav' for WAV format, 'mp3' for MP3 format, or NULL to disable attachments."
        },
        "notifications": {
          "properties": {
            "emails": {
              "type": [
                "string",
                "null"
              ],
              "description": "Array of email addresses"
            },
            "sms": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^\\+?([0-9\\-\\(\\)\\s]*)$",
              "description": "Phone number capable of receiving SMS messages"
            }
          },
          "description": "Voicemail Notifications Object. Can be set to NULL to disable notifications."
        }
      },
      "description": "Voicemail Object."
    },
    "call_notifications": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "emails": {
          "type": [
            "string",
            "null"
          ],
          "description": "Array of email addresses"
        },
        "sms": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^\\+?([0-9\\-\\(\\)\\s]*)$",
          "description": "Phone number capable of receiving SMS messages"
        }
      },
      "description": "Call Notifications Object"
    },
    "presence_publish": {
      "type": [
        "boolean",
        "null"
      ],
      "description": ""
    },
    "presence_subscribe": {
      "type": [
        "boolean",
        "null"
      ],
      "description": ""
    },
    "route": {
      "description": "Extension route"
    }
  }
}

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/phone-com-extension"
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.