Phone Com · Schema

Route

CompanyVoIPTelephonyBusiness PhoneSMSVideo ConferencingCommunications

Properties

Name Type Description
name stringnull Route Name
rules array Array of Rule Set Objects
extension objectnull Extension to which this route belongs
View JSON Schema on GitHub

JSON Schema

phone-com-route-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-route-schema.json",
  "title": "Route",
  "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/Route",
  "type": "object",
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Route Name"
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "filter": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Filter type"
              },
              "schedule": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "description": "Schedule ID"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Schedule name"
                  }
                },
                "description": "Schedule object for being used as a filter"
              },
              "group": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "description": "Contacts group ID"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Contacts group name"
                  }
                },
                "description": "Contacts group object for being used as a filter"
              },
              "contact": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "description": "Contact ID"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Contact name"
                  }
                },
                "description": "Contact object for being used as a filter"
              }
            },
            "description": "Rule filter (apply rule only if it matches the filter)"
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "abcn_queue",
                    "directory",
                    "disconnect",
                    "fax",
                    "forward",
                    "greeting",
                    "hold",
                    "menu",
                    "queue",
                    "trunk",
                    "voicemail",
                    "live_answer"
                  ],
                  "description": "Routing action"
                },
                "timeout": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 5,
                  "maximum": 90,
                  "description": "Timeout for the action"
                },
                "items": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "type": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "phone_number",
                          "extension"
                        ],
                        "description": "Must equal phone_number or extension"
                      },
                      "number": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Required if type = 'phone_number'. Phone number that callers should be directed to"
                      },
                      "extension": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "properties": {
                          "id": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 1,
                            "description": "ID of the extension"
                          },
                          "extension": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 1,
                            "description": "Extension number that callers may dial"
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "User-supplied name for the extension"
                          }
                        },
                        "description": "Required if type = 'extension'. Extension that callers should be directed to"
                      },
                      "caller_id": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Must equal calling_number or called_number. Defines which phone number should be used for Caller ID"
                      },
                      "voice_tag": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Optional string. If screening = TRUE, this value will be passed into our Text-To-Speech engine and used to inform the caller of who they have reached"
                      },
                      "distinctive_ring": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Must equal one of: DEFAULT, STYLE_2, STYLE_3, STYLE_4, STYLE_5, STYLE_6, STYLE_7, STYLE_8, or STYLE_9. Identifies the style of ring tone you will hear when an incoming call is waiting"
                      }
                    }
                  },
                  "description": "Array of Forward Item Objects"
                },
                "queue": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Queue ID"
                    }
                  },
                  "description": "Queue that this action refers to. Input must be a Queue Lookup Object."
                },
                "menu": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Menu ID"
                    }
                  },
                  "description": "Menu that this action refers to. Input must be a Menu Lookup Object."
                },
                "greeting": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Media ID"
                    }
                  },
                  "description": "Greeting that this action refers to. Input must be a Media Lookup Object. Must refer to a media recording that has is_hold_music set to FALSE"
                },
                "hold_music": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Media ID"
                    },
                    "duration": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 0,
                      "description": "Duration"
                    }
                  },
                  "description": "Hold Music to be played while callers are waiting. Input must be a Media Lookup Object. Must refer to a media recording that has is_hold_music set to TRUE. Default is to play a standard ring tone"
                },
                "trunk": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Trunk ID"
                    }
                  },
                  "description": "Trunk that this action refers to. Input must be a Trunk Lookup Object."
                },
                "extension": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "Extension ID"
                    }
                  },
                  "description": "Extension that this action refers to. Input must be an Extension Lookup Object"
                },
                "voice_tag": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Voice tag"
                },
                "script": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 1,
                      "description": "ID of live receptionist script"
                    }
                  },
                  "description": "Live receptionist script"
                }
              },
              "required": [
                "action"
              ]
            },
            "description": "Array of Action Objects"
          }
        },
        "required": [
          "actions"
        ]
      },
      "description": "Array of Rule Set Objects"
    },
    "extension": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "description": "Extension ID"
        },
        "extension": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "description": "Extension number"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Extension name"
        }
      },
      "description": "Extension to which this route belongs"
    }
  },
  "required": [
    "rules"
  ]
}

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-route"
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.