Number Management

  • OpenAPI Version: 3.1.1
  • API Version: 2

Number Management APIs are part of Zoom's API suite. They let developers manage and provision phone numbers in a Zoom Phone, Contact Center, or Meetings account programmatically. They also help businesses and service providers automate phone number operations at scale.

Servers

  • URL: https://api.zoom.us/v2

Operations

List peering phone numbers for provider

  • Method: GET
  • Path: /accounts/{accountId}/number_management/carrier/peering_numbers
  • Tags: Cloud Peering Provider Exchange

Returns phone numbers the carrier pushes to different customers.

Prerequisites

  • Enable Number Management
  • Developer is a provider exchange partner, with the cloud peering infrastructure established with Zoom.
  • Zoom account needs to have a Zoom Phone license or a Zoom Contact Center license.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_carrier_peering_numbers:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** Cloud peering numbers successfully returned.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token is returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • numbers

    array — The information about the phone numbers pushed by the carrier to different customers.

    Items:

    • assigned (required)

      boolean — Whether the phone number is assigned: * `false` — Unassigned. * `true` — Assigned.

    • phone_number (required)

      string — The phone number the partner provides in [E.164](https://en.wikipedia.org/wiki/E.164) format.

    • sip_trunk_name (required)

      string — This field is a unique name that Zoom assigns for a group of trunks established with the partner during the cloud peering infrastructure setup. A partner with global presence may have one or more SIP trunks to handle calls for phone numbers in different regions.Partner needs to specify the name of the SIP trunk associated with the specified phone number. All calls originating from this number will be routed through the specified SIP Trunk, and Zoom will expect to receive inbound calls through the same trunk.During failure scenarios, calls will be routed via alternate trunks within the same trunk group identified by the `sip_trunk_name`.

    • status (required)

      boolean — Providers can set the status to indicate whether the phone number is active (true) or inactive (false). Providers can use inactive (false) state to provision phone numbers that are still in the process of being ported in, and update the status to active (true) when the porting is complete.

    • allocated_product

      string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — Partners can allocate phone numbers for exclusive use by a specific Zoom Product (ZOOM_PHONE or ZOOM_CONTACT_CENTER). Partners can also make the Phone Numbers not specific to any product (UNALLOCATED), allowing Zoom customers to freely assign the numbers to any Zoom Product.

    • billing_ref_id

      string — Partners can specify their billing reference ID, with the maximum length of 36 characters. * Zoom will send back the specified billing_ref_id in the SIP Header X-TO-CARRIER-ACCOUNT for the outbound calls to the provider.

    • customer_account_name

      string — The customer's account name.

    • customer_account_number

      string — The customer's account number.

    • message_capability

      string, possible values: "NOT_APPLICABLE", "SUPPORTED", "NOT_SUPPORTED" — This number can be used for SMS/MMS. This setting is configurable for mobile numbers but automatically determined by the system for non-mobile numbers. Applicable only if the carrier is integrated for messaging services. 1. If messaging is not integrated, or if it's a non-mobile number, the value is **NOT_APPLICABLE**, meaning this function is not applicable. 2. If messaging is integrated and it's a mobile number, the value is **Supported** or Not **Supported**.

    • outbound_cli_share_not_supported

      boolean — This field allows this number to be used as a Caller ID across all products. Requires Multiple capacity setting and Outbound capability. 1. **false** means allowed.

    • outbound_dialer_not_supported

      boolean — This field allows this number to be assigned to an Outbound dialer use case. Requires Multiple capacity setting and Outbound capability. Not available with single voice and messaging capacity. 1. **false** means allowed.

    • service_info

      string — Free form descriptive text of the service associated with the number. This description will be surfaced to Zoom customer viewing the phone number. Partners can include description highlighting the capabilities or limitations associated with the number. The maximum is 255 characters.

    • voice_direction

      string, possible values: "INBOUND_AND_OUTBOUND", "INBOUND_ONLY", "OUTBOUND_ONLY", "NOT_SUPPORTED", default: "INBOUND_AND_OUTBOUND" — This field allows this number to be configured for Inbound, Outbound, or Two-Way voice calling.

    • voice_msg_capacity

      string, possible values: "ZOOM_PHONE_USER_ONLY", "MULTI_USE", default: "MULTI_USE" — This field allows this number to be restricted to a single user or enabled for any of the shared workflows. 1. **Zoom Phone user only**: The number can only be assigned to Zoom Phone users. 2. **Multi-use**: The number can be used in any of the shared workflows.

  • total_records

    integer, format: int32 — The total number of records returned for this API call.

Example:

{
  "next_page_token": "8X8xSdRVKHsabD6Im4tIPODq6GzDOvV5fO1",
  "numbers": [
    {
      "customer_account_name": "Some customer's account name",
      "customer_account_number": "Some customer's account number",
      "assigned": true,
      "billing_ref_id": "Some billing referenceId",
      "phone_number": "+18108001001",
      "allocated_product": "ZOOM_PHONE",
      "service_info": "Some service info",
      "sip_trunk_name": "test-carrier-sip-trunk",
      "status": true,
      "voice_msg_capacity": "MULTI_USE",
      "voice_direction": "INBOUND_AND_OUTBOUND",
      "outbound_dialer_not_supported": false,
      "outbound_cli_share_not_supported": false,
      "message_capability": "NOT_APPLICABLE"
    }
  ],
  "total_records": 20
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1001` <br> Carrier not found <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List peering phone numbers

  • Method: GET
  • Path: /accounts/{accountId}/number_management/peering_numbers
  • Tags: Cloud Peering Reseller

Returns the details associated with a specific phone number, or all the phone numbers the partner previously provisioned for the Zoom customer account.

Prerequisites:

  • Enable Number Management
  • Developer is a provider exchange partner, with the cloud peering infrastructure established with Zoom.
  • Zoom account needs to have a Zoom Phone license or a Zoom Contact Center license.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_peering_numbers:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK**&lt;br&gt;Carrier peering numbers successfully returned.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • numbers

    array — The information about the carrier's phone numbers.

    Items:

    • allocated_product (required)

      string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — Partners can allocate phone numbers for exclusive use by a specific Zoom Product (ZOOM_PHONE or ZOOM_CONTACT_CENTER). Partners can also make the Phone Numbers not specific to any product (UNALLOCATED), allowing Zoom customers to freely assign the numbers to any Zoom Product.

    • assigned (required)

      boolean — Whether the phone number is assigned:* `false` &mdash; Unassigned.* `true` &mdash; Assigned.

    • phone_number (required)

      string — The phone number the partner provides in [E.164](https://en.wikipedia.org/wiki/E.164 ) format.

    • sip_trunk_name (required)

      string — This field is a unique name that Zoom assigns for a group of trunks established with the partner during the cloud peering infrastructure setup. A partner with global presence may have one or more SIP trunks to handle calls for phone numbers in different regions. Partner needs to specify the name of the SIP trunk associated with the specified phone number. All calls originating from this number will be routed through the specified SIP Trunk, and Zoom will expect to receive inbound calls through the same trunk. During failure scenarios, calls will be routed via alternate trunks within the same trunk group identified by the `sip_trunk_name`.

    • status (required)

      boolean — Providers can set the status to indicate whether the phone number is active (true) or inactive (false). Providers can use inactive (false) state to provision phone numbers that are still in the process of being ported in, and update the status to active (true) when the porting is complete.

    • billing_ref_id

      string — Partners can specify their billing reference ID, with the maximum length of 36 characters. * Zoom will send back the specified billing_ref_id in the SIP Header X-TO-CARRIER-ACCOUNT for the outbound calls to the provider.

    • message_capability

      string, possible values: "NOT_APPLICABLE", "SUPPORTED", "NOT_SUPPORTED" — This number can be used for SMS/MMS. This setting is configurable for mobile numbers but automatically determined by the system for non-mobile numbers. Applicable only if the carrier is integrated for messaging services. 1. If messaging is not integrated, or if it's a non-mobile number, the value is **NOT_APPLICABLE**, meaning this function is not applicable. 2. If messaging is integrated and it's a mobile number, the value is **Supported** or Not **Supported**.

    • outbound_cli_share_not_supported

      boolean — This field allows this number to be used as a Caller ID across all products. Requires Multiple capacity setting and Outbound capability. 1. **false** means allowed.

    • outbound_dialer_not_supported

      boolean — This field allows this number to be assigned to an Outbound dialer use case. Requires Multiple capacity setting and Outbound capability. Not available with single voice and messaging capacity. 1. **false** means allowed.

    • service_info

      string — Free form descriptive text of the service associated with the number. This description will be surfaced to Zoom customer viewing the phone number. Partners can include description highlighting the capabilities or limitations associated with the number. The maximum is 255 characters.

    • voice_direction

      string, possible values: "INBOUND_AND_OUTBOUND", "INBOUND_ONLY", "OUTBOUND_ONLY", "NOT_SUPPORTED", default: "INBOUND_AND_OUTBOUND" — This field allows this number to be configured for Inbound, Outbound, or Two-Way voice calling.

    • voice_msg_capacity

      string, possible values: "ZOOM_PHONE_USER_ONLY", "MULTI_USE", default: "MULTI_USE" — This field allows this number to be restricted to a single user or enabled for any of the shared workflows. 1. **Zoom Phone user only**: The number can only be assigned to Zoom Phone users. 2. **Multi-use**: The number can be used in any of the shared workflows.

  • total_records

    integer, format: int64 — The total number of records returned for this API call.

Example:

{
  "next_page_token": "8X8xSdRVKHsabD6Im4tIPODq6GzDOvV5fO1",
  "numbers": [
    {
      "assigned": true,
      "billing_ref_id": "Some billing referenceId",
      "allocated_product": "ZOOM_PHONE",
      "phone_number": "+18108001001",
      "service_info": "Inbound only number' or 'Metered charges apply",
      "sip_trunk_name": "test-carrier-sip-trunk",
      "status": true,
      "voice_msg_capacity": "MULTI_USE",
      "voice_direction": "INBOUND_AND_OUTBOUND",
      "outbound_dialer_not_supported": false,
      "outbound_cli_share_not_supported": false,
      "message_capability": "NOT_APPLICABLE"
    }
  ],
  "total_records": 20
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1001` <br> Carrier not found <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Add peering phone numbers

  • Method: POST
  • Path: /accounts/{accountId}/number_management/peering_numbers
  • Tags: Cloud Peering Reseller

Enables provider exchange partners to add phone numbers to a Zoom account.

Prerequisites

  • Enable Number Management
  • Developer is a provider exchange partner, with the cloud peering infrastructure established with Zoom.
  • Zoom account needs to have a Zoom Phone license or a Zoom Contact Center license.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:write:peering_number:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • phone_numbers (required)

    array — The information about the added phone numbers. The maximum value is 200.

    Items:

    • phone_number (required)

      string — The phone number the partner provides in [E.164](https://en.wikipedia.org/wiki/E.164) format.

    • sip_trunk_name (required)

      string — A unique name that Zoom assigns for a group of trunks established with the partner during the cloud peering infrastructure setup. A partner with global presence may have one or more SIP trunks to handle calls for phone numbers in different regions. Partner needs to specify the name of the SIP trunk associated with the specified phone number. All calls originating from this number will be routed through the specified SIP trunk, and Zoom will expect to receive inbound calls through the same trunk. During failure scenarios, calls will be routed through alternate trunks within the same trunk group identified by the `sip_trunk_name`.

    • status (required)

      boolean — Providers can set the status to indicate whether the phone number is active (true) or inactive (false). Providers can use inactive (false) state to provision phone numbers that are still in the process of being ported in, and update the status to active (true) when the porting is complete.

    • billing_ref_id

      string — Partners can specify their billing reference ID, with the maximum length of 36 characters. * Zoom will send back the specified billing_ref_id in the SIP Header X-TO-CARRIER-ACCOUNT for outbound calls to the provider.

    • message_capability

      string, possible values: "NOT_APPLICABLE", "SUPPORTED", "NOT_SUPPORTED" — This number can be used for SMS/MMS. This setting is configurable for mobile numbers but automatically determined by the system for non-mobile numbers. Applicable only if the carrier is integrated for messaging services. 1. If messaging is not integrated, or if it's a non-mobile number, the value is **NOT_APPLICABLE**, meaning this function is not applicable. 2. If messaging is integrated and it's a mobile number, the value is **Supported** or Not **Supported**.

    • number_type

      string, possible values: "Mobile", "Toll", "TollFree", "VirtualService" — If you're certain the number is Toll/VirtualService/TollFree/Mobile, specify it. Otherwise, Zoom will automatically calculate the number type. * If allocated_product is ZOOM_PHONE/UNALLOCATED, the number_type can be Toll/TollFree/Mobile. * If allocated_product is ZOOM_CONTACT_CENTER, the number_type can be VirtualService/TollFree/Mobile.

    • outbound_cli_share_not_supported

      boolean — This field allows this number to be used as a Caller ID across all products. Requires Multiple capacity setting and Outbound capability. 1. **false** means allowed.

    • outbound_dialer_not_supported

      boolean — This field allows this number to be assigned to an Outbound dialer use case. Requires Multiple capacity setting and Outbound capability. Not available with single voice and messaging capacity. 1. **false** means allowed.

    • service_info

      string — The free form descriptive text of the service associated with the number. This description surfaces to the Zoom customer viewing the phone number. Partners can include description highlighting the capabilities or limitations associated with the number. The maximum is 255 characters.

    • voice_direction

      string, possible values: "INBOUND_AND_OUTBOUND", "INBOUND_ONLY", "OUTBOUND_ONLY", "NOT_SUPPORTED", default: "INBOUND_AND_OUTBOUND" — This field allows this number to be configured for Inbound, Outbound, or Two-Way voice calling.

    • voice_msg_capacity

      string, possible values: "ZOOM_PHONE_USER_ONLY", "MULTI_USE", default: "MULTI_USE" — This field allows this number to be restricted to a single user or enabled for any of the shared workflows. 1. **Zoom Phone user only**: The number can only be assigned to Zoom Phone users. 2. **Multi-use**: The number can be used in any of the shared workflows.

  • allocated_product

    string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — Partners can allocate phone numbers for exclusive use by a specific Zoom product (ZOOM_PHONE or ZOOM_CONTACT_CENTER). Partners can also make the phone numbers not specific to any product (UNALLOCATED), allowing Zoom customers to freely assign the numbers to any Zoom product.

  • carrier_code

    integer, format: int32 — A unique code that Zoom provides to the partner at the time of establishing cloud peering infrastructure. This unique code is also tied to the developer `client ID` included as part of the token. This parameter is **required** if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.

Example:

{
  "carrier_code": 3456,
  "allocated_product": "ZOOM_PHONE",
  "phone_numbers": [
    {
      "billing_ref_id": "Some billing referenceId",
      "phone_number": "+12097654882",
      "number_type": "Mobile",
      "service_info": "'Inbound only number' or 'Metered charges apply'",
      "sip_trunk_name": "first-markert-carrier-trunk",
      "status": true,
      "voice_msg_capacity": "MULTI_USE",
      "voice_direction": "INBOUND_AND_OUTBOUND",
      "outbound_dialer_not_supported": false,
      "outbound_cli_share_not_supported": false,
      "message_capability": "NOT_APPLICABLE"
    }
  ]
}

Responses

Status: 201 **HTTP Status Code:** `201` **Created** Peering phone numbers successfully added.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request some data failed **Error Code:** `1000` <br> Some data failed.for example: [ {"phoneNumber":"+12098888111","reason":"Invalid Sip Trunk"}, {"phoneNumber":"+12090000011","reason":"Invalid number"} ] <br> **Error Code:** `1001` <br> Carrier not found <br> **Error Code:** `1002` <br> Request data cannot be empty <br> **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Remove peering phone numbers

  • Method: DELETE
  • Path: /accounts/{accountId}/number_management/peering_numbers
  • Tags: Cloud Peering Reseller

Removes the phone number from the Zoom customer account.

Partners can remove only the phone numbers they have previously added to Zoom account.

Prerequisites:

  • Enable Number Management
  • Developer is a provider exchange partner, with the cloud peering infrastructure established with Zoom.
  • Zoom account needs to have a Zoom Phone license or a Zoom Contact Center license.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:delete:peering_number:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **Created** Phone number successfully deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request request failed **Error Code:** `1000` <br> Some data failed. for example: [ {"phoneNumber":"+12098888111","reason":"Phone number does not exist"}, {"phoneNumber":"+12090000011","reason":"Invalid number"} ] <br> **Error Code:** `1001` <br> Carrier not found <br> **Error Code:** `1002` <br> Request data cannot be empty <br> **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update peering phone numbers

  • Method: PATCH
  • Path: /accounts/{accountId}/number_management/peering_numbers
  • Tags: Cloud Peering Reseller

Allows partners to update the status or details associated with the phone numbers.

Prerequisites

  • Enable Number Management
  • Developer is a provider exchange partner, with the cloud peering infrastructure established with Zoom.
  • Zoom account needs to have a Zoom Phone license or a Zoom Contact Center license.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:update:peering_number:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • phone_numbers (required)

    array — The list of phone numbers and the corresponding details that need to be updated. The maximum value is 200.

    Items:

    • phone_number (required)

      string — The phone number the partner provides in [E.164](https://en.wikipedia.org/wiki/E.164 ) format.

    • billing_ref_id

      string — Partners can specify their billing reference ID. The maximum length is 36 characters. * Zoom will send back the specified billing_ref_id in the SIP Header X-TO-CARRIER-ACCOUNT for the outbound calls to the provider.

    • message_capability

      string, possible values: "NOT_APPLICABLE", "SUPPORTED", "NOT_SUPPORTED" — This number can be used for SMS/MMS. This setting is configurable for mobile numbers but automatically determined by the system for non-mobile numbers. Applicable only if the carrier is integrated for messaging services. 1. If messaging is not integrated, or if it's a non-mobile number, the value is **NOT_APPLICABLE**, meaning this function is not applicable. 2. If messaging is integrated and it's a mobile number, the value is **Supported** or Not **Supported**.

    • outbound_cli_share_not_supported

      boolean — This field allows this number to be used as a Caller ID across all products. Requires Multiple capacity setting and Outbound capability 1. **false** means allowed.

    • outbound_dialer_not_supported

      boolean — This field allows this number to be assigned to an Outbound dialer use case. Requires Multiple capacity setting and Outbound capability. Not available with single voice and messaging capacity. 1. **false** means allowed.

    • service_info

      string — Free form descriptive text of the service associated with the number. This description will be surfaced to Zoom customer viewing the phone number. Partners can include description highlighting the capabilities or limitations associated with the number. The maximum is 255 characters.

    • sip_trunk_name

      string — A unique name that Zoom assigns for a group of trunks established with the partner during the cloud peering infrastructure setup. A partner with global presence may have one or more SIP trunks to handle calls for phone numbers in different regions. Partner needs to specify the name of the SIP trunk associated with the specified phone number. All calls originating from this number will be routed through the specified SIP Trunk, and Zoom will expect to receive inbound calls through the same trunk. During failure scenarios, calls will be routed via alternate trunks within the same trunk group identified by the `sip_trunk_name`.

    • status

      boolean — Providers can set the status to indicate whether the phone number is active (true) or inactive (false). Providers can use inactive (false) state to provision phone numbers that are still in the process of being ported in, and update the status to active (true) when the porting is complete.

    • voice_direction

      string, possible values: "INBOUND_AND_OUTBOUND", "INBOUND_ONLY", "OUTBOUND_ONLY", "NOT_SUPPORTED", default: "INBOUND_AND_OUTBOUND" — This field allows this number to be configured for Inbound, Outbound, or Two-Way voice calling.

    • voice_msg_capacity

      string, possible values: "ZOOM_PHONE_USER_ONLY", "MULTI_USE", default: "MULTI_USE" — This field allows this number to be restricted to a single user or enabled for any of the shared workflows. 1. **Zoom Phone user only**: The number can only be assigned to Zoom Phone users. 2. **Multi-use**: The number can be used in any of the shared workflows.

  • allocated_product

    string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — `allocated_product` can only be updated for numbers that were previously set to 'UNALLOCATED'. To change `allocated_product` value for phone numbers previously allocated to ZOOM_PHONE or ZOOM_CONTACT_CENTER, partners need to remove and reinsert the numbers.

  • carrier_code

    integer, format: int32 — A unique code that Zoom provides to the partner at the time of establishing cloud peering infrastructure. This unique code is also tied to the developer `client ID` included as part of the token This parameter is **required** if you do **not** use an OAuth token or the OAuth token does not contain the `clientId`.

Example:

{
  "carrier_code": 3456,
  "allocated_product": "ZOOM_PHONE",
  "phone_numbers": [
    {
      "phone_number": "+12097654882",
      "billing_ref_id": "Some billing referenceId",
      "service_info": "Inbound only number' or 'Metered charges apply",
      "sip_trunk_name": "first-markert-carrier-trunk",
      "status": true,
      "voice_msg_capacity": "MULTI_USE",
      "voice_direction": "INBOUND_AND_OUTBOUND",
      "outbound_dialer_not_supported": false,
      "outbound_cli_share_not_supported": false,
      "message_capability": "NOT_APPLICABLE"
    }
  ]
}

Responses

Status: 204 **HTTP Status Code:** `200` **OK**Phone number successfully updated.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request request failed **Error Code:** `1000` <br> Some data failed.for example: [ {"phoneNumber":"+12098888111","reason":"Invalid Sip Trunk"}, {"phoneNumber":"+12090000011","reason":"Invalid number"} ] <br> **Error Code:** `1001` <br> Carrier not found <br> **Error Code:** `1002` <br> Request data cannot be empty <br> **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Allocate/Unallocate phone numbers

  • Method: PATCH
  • Path: /accounts/{accountId}/number_management/allocation
  • Tags: Phone Numbers

Allocates or unallocates phone numbers for those with CPL routing.

Note: When allocating phone numbers, if there are any native numbers, they must belong to the same country or region, and have the same number plan.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:write:numbers:master

Rate Limit Label: HEAVY

Request Body

Content-Type: application/json
  • allocated_product (required)

    string, possible values: "ZOOM_PHONE", "ZOOM_CONTACT_CENTER", "UNALLOCATED" — The phone number's allocated product. Use the value UNALLOCATED to unallocate phone numbers.

  • numbers (required)

    array — A list of phone numbers.

    Items:

    string — The phone number ID.

  • site_id

    string — The site the numbers will be allocated for Zoom Phone.

Example:

{
  "numbers": [
    "8nObzGKRTGxoNDZ5JIEHQ"
  ],
  "allocated_product": "ZOOM_PHONE",
  "site_id": "8nObzGKRTGxoNDZ5JIEHQ"
}

Responses

Status: 204 The phone numbers have been allocated succeefully
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Invalid parameter or operation **Error Code:** `100002` <br> Phone number not found <br> **Error Code:** `200002` <br> Unable to switch products for the number <br> **Error Code:** `1002010` <br> The site does not exist <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Add BYOC phone numbers

  • Method: POST
  • Path: /accounts/{accountId}/number_management/byoc_numbers
  • Tags: Phone Numbers

Adds BYOC (Bring Your Own Carrier) phone numbers to Zoom Phone.

Prerequisites:

  • A Business or Enterprise plan
  • A Zoom Phone license

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:write:byoc_numbers:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • allocated_product (required)

    string, possible values: "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — The partners can allocate phone numbers for exclusive use by a specific Zoom Product (ZOOM_PHONE or ZOOM_CONTACT_CENTER).

  • phone_numbers (required)

    array — Whether a input local number or E164 number.

    Items:

    string

  • country_iso

    string — The two-lettered country code (Alpha-2 code in ISO-3166 format). - When the input number is a local number, country_iso is required. - When the input number is a E164 number, `country_iso` is optional.

  • enable_pci_pal

    boolean — - If you add a Zoom phone number and want to enable `enable_pci_pal`, you first need to enable Enable Compliance APIs in the Zoom Phone OP. - If you add a Zoom Contact Center number and want to enable `enable_pci_pal`, you first need to enable PCI SIP Integration in the Zoom Contact Center OP.

  • sip_group_id

    string — The SIP group ID. - If adding a Zoom Phone number, and BYOC SIP Group is optional, `sip_group_id` is required. It can input ZOOM_PHONE or COMMON `sip_group_id` - If adding a Zoom Contact Center number, `sip_group_id` is required, and can input ZOOM_CONTACT_CENTER or COMMON `sip_group_id`.

  • site_id

    string — The unique identifier of the site. This field is only required if you have enabled multiple sites in the account. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details. - If add a zoom phone number, and multiple sites is enabled, `site_id` is required

Example:

{
  "allocated_product": "ZOOM_PHONE",
  "country_iso": "US",
  "site_id": "8f71O6rWT8KFUGQmJIFAdQ",
  "phone_numbers": [
    "+8618251885564"
  ],
  "sip_group_id": "FLofRFDxSNiSd68iRZrZmg",
  "enable_pci_pal": true
}

Responses

Status: 201 **HTTP Status Code:** `201` **Created** BYOC phone numbers successfully added.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1000` <br> Some data failed.for example: [ {"phoneNumber":"+12098888111","reason":"Phone Number format invalid"}, {"phoneNumber":"+12090000011","reason":"Phone Number already exists"} ] <br> **Error Code:** `1004` <br> BYOC Phone Numbers are not enabled for this account <br> **Error Code:** `1003_001` <br> Too many numbers, should less than 100,contact zoom support team for more numbers <br> **Error Code:** `100_001` <br> Sip Group not found <br> **Error Code:** `200_005` <br> Current sip group don't support PCIPal <br> **Error Code:** `1002_003` <br> Site cannot be empty in zoom phone <br> **Error Code:** `1002_010` <br> The site does not exist <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List phone numbers

  • Method: GET
  • Path: /accounts/{accountId}/number_management/numbers
  • Tags: Phone Numbers

Returns a list of phone numbers in an account. See section Information in the phone number table of Using Number Management for managing phone numbers for more details.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_numbers:master

Rate Limit Label: LIGHT

Responses

Status: 200 The list of phone numbers.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • numbers

    array

    Items:

    • address_update_required

      boolean — The true value indicates the number's address need to be updated for BYOC Premise numbers.

    • allocated_product

      string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — The product assigned to the phone number.

    • assigned_list

      array

      Items:

      • assgined_to_name

        string — The name of the user assigned with the number, emergency number pool, and company location.

      • assigned_to_id

        string — In Zoom Phone, this value can represent the ID of the user, emergency number pool (where the ID is either `siteId` if multiple sites are enabled, or `accountId` if not), or company location, depending on the `assigned_to_type `field. In Contact Center, this field also has different meanings 2: number assigned to Dial-in to Video Engagements 3: number assigned to Default System Outgoing SMS 4: number assigned to Default Caller ID 8: number assigned to Default Agent Outgoing SMS Other: number assigned for specific use case , such as flow, queue and so on.

      • assigned_to_type

        string, possible values: "User", "CallQueue", "AutoReceptionist", "CiscoPolycomRoom", "SharedLineGroup", "GroupCallPickup", "CommonArea", "EmergencyNumberPool", "CompanyLocation", "PersonalLocation", "MeetingService", "LocalSurvivability", "LocalSurvivabilityEmergencyNumberPool", "MicrosoftTeamsResourceAccount", "DistributionGroup" — This field indicates to whom the phone number belongs.

      • extension_number

        string — The extension number of an extension (e.g., user) for Zoom Phone

      • source_channel

        string, possible values: "Voice", "SMS" — The channel of number that is only for Contact Center.

    • caller_id_name

      string — The caller ID name for a Contact Center number.

    • capability

      array — The capability of the phone number. The value can be Incoming, Outgoing, Messaging, PCIPal, and `EmergencyCalls` or any combination of them.

      Items:

      string, possible values: "Incoming", "Outgoing", "Messaging", "PCIPal", "EmergencyCalls" — The capability of the phone number

    • carrier

      object — The carrier information for the Provider Exchange number.

      • code

        integer — The carrier code.

      • name

        string — The name of the carrier.

    • display_name

      string — The display name for the phone number in Zoom Phone.

    • emergency_address

      object — The emergency address to bind to the phone number.

      • address_line1

        string — The house number and street name.

      • address_line2

        string — The information about the building, floor, unit, and so on.

      • city

        string — The city in the address.

      • country

        string — The two-lettered country code (Alpha-2 code in ISO-3166 format).

      • county

        string — The county of the address for the Ireland address.

      • state_code

        string — The state ISO code of the address.

      • zip

        string — The zip or postal code.

    • emergency_address_update_time

      string — The updated timestamp of the number's address, in the format 'yyyy-MM-ddTHH:mm:ssZ'. It's used for Phone BYOC-Premises numbers.

    • id

      string — The unique identifier of the phone number.

    • location

      object — The phone number's area.

      • city

        string — The phone number of the city location.

      • country

        string — The name of the country.

      • state

        string — The state or province's name.

    • number

      string — The phone number in E.164 format.

    • number_type

      string, possible values: "Toll", "TollFree", "VirtualService", "Mobile", "SharedCost", "National", "ITFS" — The type of phone number.

    • sip_group

      object

    • site

      object — The site associated with the phone number.

      • name

        string — The site name.

      • site_id

        string — The site ID.

    • source

      string, possible values: "Zoom", "ZoomPorted", "ZoomReserved", "ThirdPartyNumber", "BYOCCloud", "BYOCPremises" — The source of phone number.

    • status

      string, possible values: "Normal", "Pending" — The status of the number.

  • page_size

    integer — The page size in use.

Example:

{
  "next_page_token": "xuWXDDeGFkx0dyRtuwQR3M9NWIoMVD9e0a2",
  "page_size": 100,
  "numbers": [
    {
      "id": "iHE1MQAET2iV85MbfaQmwg",
      "number": "+1203030333",
      "allocated_product": "ZOOM_CONTACT_CENTER",
      "number_type": "Toll",
      "display_name": "Alice",
      "caller_id_name": "Bob Company",
      "carrier": {
        "code": 2,
        "name": "Bandwidth"
      },
      "capability": [
        "Incoming"
      ],
      "source": "Zoom",
      "status": "Pending",
      "emergency_address": {
        "address_line1": "53 Rav Road",
        "address_line2": "Floor 1",
        "city": "San Jose",
        "county": "CO. Cork",
        "state_code": "CA",
        "country": "US",
        "zip": "95113"
      },
      "address_update_required": true,
      "emergency_address_update_time": "2024-10-29T14:18:28Z",
      "site": {
        "site_id": "8f71O6rWT8KFUGQmJIFAdQ",
        "name": "Main Site"
      },
      "assigned_list": [
        {
          "assigned_to_id": "rYgfsrduSXWCxr94poMN5g",
          "assgined_to_name": "Alice Bob",
          "assigned_to_type": "User",
          "source_channel": "Voice",
          "extension_number": "6503"
        }
      ],
      "sip_group": {
        "id": "vZWksdNbRkKTdzOth09skw",
        "name": "SIP 01"
      },
      "location": {
        "country": "United States",
        "city": "San Jose",
        "state": "California"
      }
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `999` <br> Invalid value (e.g., allocated_product, number_type, number_soruce) <br> **Error Code:** `1002010` <br> The site does not exist <br> **Error Code:** `1003100` <br> The next page token is either invalid or has expired <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Delete phone numbers

  • Method: DELETE
  • Path: /accounts/{accountId}/number_management/numbers
  • Tags: Phone Numbers

Deletes phone numbers.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:delete:numbers:master

Rate Limit Label: MEDIUM

Responses

Status: 204 The phone numbers have been deleted successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Invalid parameter **Error Code:** `100002` <br> Phone number not found <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get a phone number

  • Method: GET
  • Path: /accounts/{accountId}/number_management/numbers/{phoneNumberId}
  • Tags: Phone Numbers

Returns information about an account's phone number.

For more details, see the section Information in the phone number table in Using Number Management for managing phone numbers.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:numbers:master

Rate Limit Label: LIGHT

Responses

Status: 200 The phone number details.
Content-Type: application/json
  • address_update_required

    boolean — The true value indicates the number's address need to be updated, applicable for BYOC Premise numbers.

  • allocated_product

    string, possible values: "UNALLOCATED", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — The product assigned to the phone number.

  • assigned_list

    array

    Items:

    • assgined_to_name

      string — The name of the user to whom the number, emergency number pool, and company location are assigned.

    • assigned_to_id

      string — In Zoom Phone, this value can represent the ID of the user, emergency number pool (where the ID is either `siteId` if multiple sites are enabled, or `accountId` if not), or company location, depending on the `assigned_to_type` field. In Contact Center, this field also has different meanings. 2: Number assigned to Dial-in to Video Engagements 3: number assigned to Default System Outgoing SMS 4: number assigned to Default Caller ID 8: number assigned to Default Agent Outgoing SMS Other: number assigned for specific use case , such as flow, queue.

    • assigned_to_type

      string, possible values: "User", "CallQueue", "AutoReceptionist", "CiscoPolycomRoom", "SharedLineGroup", "GroupCallPickup", "CommonArea", "EmergencyNumberPool", "CompanyLocation", "PersonalLocation", "MeetingService", "LocalSurvivability", "LocalSurvivabilityEmergencyNumberPool", "MicrosoftTeamsResourceAccount", "DistributionGroup" — This field indicates to whom the phone number belongs.

    • display_number

      string — The displayed phone number in meeting invitations and emails for the meeting service.

    • extension_number

      string — The extension number of an extension. (e.g., user). This field is applicable for Zoom Phone.

    • greeting

      object — This field applicable for meeting service.

    • label

      string — This label appends to the number in parentheses, and appears in meeting invitations and the Zoom client for the meeting service.

    • meeting_id

      string — The meeting ID for Phone meeting service.

    • on_hold_music

      object — This field applicable for the meeting service.

    • source_channel

      string, possible values: "Voice", "SMS" — The channel of number. (Only for Contact Center)

  • caller_id_name

    string — The caller ID name for the Contact Center numbers.

  • capability

    array — The capability of the phone number. The value can be Incoming, Outgoing, Messaging, PCIPal and Emergency Calls or any combination of them.

    Items:

    string, possible values: "Incoming", "Outgoing", "Messaging", "PCIPal", "EmergencyCalls" — The capability of the phone number.

  • carrier

    object — The carrier information for Provider Exchange numbers.

    • code

      integer — The carrier code.

    • name

      string — The name of the carrier.

  • display_name

    string — The display name of the phone number for Zoom Phone numbers.

  • emergency_address

    object — The emergency address bind to the phone number.

    • address_line1

      string — The house number and street name.

    • address_line2

      string — The field lists the building, floor, unit, and so on.

    • city

      string — The city of the address.

    • country

      string — The two-lettered country code (Alpha-2 code in ISO-3166 format)

    • county

      string — The county of the address, applicable for an Ireland address

    • state_code

      string — The state ISO code of the address.

    • zip

      string — The zip or postal code.

  • emergency_address_update_time

    string — The updated timestamp of the number's address, in the format 'yyyy-MM-ddTHH:mm:ssZ'. It's used for Phone BYOC-Premises numbers.

  • id

    string — The unique identifier of the phone number.

  • location

    object — The phone number area.

    • city

      string — The phone number's city location.

    • country

      string — The name of the country.

    • state

      string — The state or province name.

  • number

    string — The phone number in E.164 format.

  • number_type

    string, possible values: "Toll", "TollFree", "VirtualService", "Mobile", "SharedCost", "National", "ITFS" — The type of the phone number.

  • sip_group

    object

  • site

    object — The site associated with the phone number.

    • name

      string — The name of the site.

    • site_id

      string — The site ID.

  • source

    string, possible values: "Zoom", "ZoomPorted", "ZoomReserved", "ThirdPartyNumber", "BYOCCloud", "BYOCPremises" — The source of phone number.

  • status

    string, possible values: "Normal", "Pending" — The status of the number.

Example:

{
  "id": "iHE1MQAET2iV85MbfaQmwg",
  "number": "+1203030333",
  "allocated_product": "ZOOM_CONTACT_CENTER",
  "number_type": "Toll",
  "display_name": "Alice",
  "caller_id_name": "Bob Company",
  "carrier": {
    "code": 2,
    "name": "Bandwidth"
  },
  "capability": [
    "Incoming"
  ],
  "source": "Zoom",
  "status": "Pending",
  "emergency_address": {
    "address_line1": "53 Rav Road",
    "address_line2": "Floor 1",
    "city": "San Jose",
    "county": "CO. Cork",
    "state_code": "CA",
    "country": "US",
    "zip": "95113"
  },
  "address_update_required": true,
  "emergency_address_update_time": "2024-10-29T14:18:28Z",
  "site": {
    "site_id": "8f71O6rWT8KFUGQmJIFAdQ",
    "name": "Main Site"
  },
  "assigned_list": [
    {
      "assigned_to_id": "rYgfsrduSXWCxr94poMN5g",
      "assgined_to_name": "Alice Bob",
      "assigned_to_type": "User",
      "source_channel": "Voice",
      "extension_number": "6503",
      "meeting_id": "964 3020 9491",
      "greeting": {
        "id": "vWby3OZaQlS1nAdmEAqgwA",
        "name": "hotspot.wav"
      },
      "on_hold_music": {
        "id": "vWby3OZaQlS1nAdmEAqgwA",
        "name": "music.wav"
      },
      "display_number": "+1 360 209 5623",
      "label": "xxx"
    }
  ],
  "sip_group": {
    "id": "vZWksdNbRkKTdzOth09skw",
    "name": "Sip 01"
  },
  "location": {
    "country": "United States",
    "city": "San Jose",
    "state": "California"
  }
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 404 **HTTP Status Code:** `404` <br> Not Found The phone number not found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update a phone number

  • Method: PATCH
  • Path: /accounts/{accountId}/number_management/numbers/{phoneNumberId}
  • Tags: Phone Numbers

Updates a phone number's information.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:update:numbers:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • caller_id_name

    string — The caller ID name has 15 characters or fewer, and should have at least one alpha character. The Contact Center supports only US/CA Virtual Service numbers.

  • capability

    object — Applicable for Zoom Phone numbers.

    • incoming

      boolean — A value of true enables the capability. A value of false disables it.

    • outgoing

      boolean — A value of true enables the capability. A value of false disables it.

  • confirm_address_update

    boolean — Whether to confirm the emergency address update for Zoom Phone BYOC Premises numbers.

  • display_name

    string — Zoom Phone numbers use a phone number display name with a limit of 32 characters or fewer.

  • sip_group_id

    string — This field retrieves the SIP group ID from the List Sip Group API for use with BYOC Premise phone numbers.

Example:

{
  "display_name": "Bob",
  "caller_id_name": "Alice",
  "confirm_address_update": true,
  "sip_group_id": "ybFTE3KXRIC7vJ8kOdmjWg",
  "capability": {
    "incoming": true,
    "outgoing": false
  }
}

Responses

Status: 204 Succeed to update the phone number
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Invalid parameter or operation **Error Code:** `999` <br> Invalid Field <br> **Error Code:** `100001` <br> Sip Group not found <br> **Error Code:** `200001` <br> The capability cannot be updated <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 404 **HTTP Status Code:** `404` <br> Not Found Phone number not found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List phone number plan information

  • Method: GET
  • Path: /accounts/{accountId}/number_management/plan
  • Tags: Phone Plan

Retrieves an account's phone number plan information, phone number usage, and availability.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:numbers_plan:master

Rate Limit Label: LIGHT

Responses

Status: 200 The phone number plan usage information.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The page size in use.

  • plans

    array

    Items:

    • assigned

      integer — The total number of phone number plans.

    • available

      integer — The remaining number of phone number plans to assign.

    • is_unlimited

      boolean — If the plan is unlimited, the value is true; any other value indicates a limited plan.

    • name

      string — The name of the phone number plan.

    • subscribed

      integer — The total number of phone number plan subscriptions bought.

Example:

{
  "next_page_token": "zi4JE9iWsGMZ92F9xhnlcZRxl2Fh47qio02",
  "page_size": 100,
  "plans": [
    {
      "assigned": 10,
      "available": 10,
      "subscribed": 20,
      "name": "US/CA Included Phone Numbers",
      "is_unlimited": true
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `999` <br> Invalid param (product) <br> **Error Code:** `1002006` <br> product cannot be empty <br> **Error Code:** `1003100` <br> The next page token is either invalid or has expired <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Lack of valid authentication
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List SMS campaigns

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sms_campaigns
  • Tags: SMS Campaigns

Returns a list of all SMS campaigns in a Zoom account.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_sms_campaigns:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** SMS campaign listed successfully.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • sms_campaigns

    array

    Items:

    • brand

      object — The business information from Zoom account.

      • brand_id

        string — The brand's ID.

      • name

        string — The brand's name.

    • display_name

      string — The display name for the SMS campaign.

    • sms_campaign_id

      string — The campaign's ID.

    • status

      string, possible values: "active", "expired", "pending", "declined" — The status of the SMS campaign.

  • total_records

    integer — The total number of records returned.

Example:

{
  "next_page_token": "bkOcmnm6mn6ioYAi10BcgRiEL38WzAo6jP2",
  "page_size": 30,
  "sms_campaigns": [
    {
      "sms_campaign_id": "C-BlVwSdjvS3WXk5gzfIQFfQ",
      "display_name": "Test SMS Campaign",
      "status": "active",
      "brand": {
        "brand_id": "B-c3AN66d_Q4mrQFNUaW-G2w",
        "name": "Test Campaign"
      }
    }
  ],
  "total_records": 1
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get an SMS campaign

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sms_campaigns/{smsCampaignId}
  • Tags: SMS Campaigns

Returns a specific SMS campaign.

Prerequisites

  • A Pro or higher account plan
  • A Zoom Phone license

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:sms_campaign:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** SMS campaign details retrieved successfully.
Content-Type: application/json
  • brand

    object — The business information from Zoom account.

    • brand_id

      string — The brand's ID.

    • name

      string — The brand's name.

  • display_name

    string — The display name for the SMS campaign.

  • phone_numbers

    array — The assigned phone numbers.

    Items:

    • number

      string — The phone number that is assigned to the SMS campaign.

    • phone_number_id

      string — The phone number's ID.

  • response_to_help

    string — Automatic reply text message after receiving help message.

  • response_to_opt_in

    string — Automatic reply text message after receiving opt in message.

  • response_to_opt_out

    string — Automatic reply text message after receiving opt out message.

  • service_type

    string, possible values: "zoomPhone", "contactCenter" — Which service the campaign supports.

  • sms_campaign_id

    string — The campaign's ID.

  • status

    string, possible values: "active", "expired", "pending", "declined" — The status of the SMS campaign. Returns `--` if the campaign is in an exception status.

Example:

{
  "sms_campaign_id": "C-BlVwSdjvS3WXk5gzfIQFfQ",
  "display_name": "Test SMS Campaign",
  "status": "active",
  "service_type": "zoomPhone",
  "brand": {
    "brand_id": "B-c3AN66d_Q4mrQFNUaW-G2w",
    "name": "Test Campaign"
  },
  "phone_numbers": [
    {
      "phone_number_id": "iHE1MQAET2iV85MbfaQmwg",
      "number": "+18887193005"
    }
  ],
  "response_to_opt_in": "ZOOM: Thank you for opting in for our texting notifications. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, Reply with STOP. Reply with HELP for more information.",
  "response_to_opt_out": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
  "response_to_help": "ZOOM: You can get more assistance by visiting https://zoom.us/. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website."
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found Invalid campaign ID.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Assign a phone number to SMS campaign

  • Method: POST
  • Path: /accounts/{accountId}/number_management/sms_campaigns/{smsCampaignId}/phone_numbers
  • Tags: SMS Campaigns

Assigns a phone number to the SMS campaign.

Prerequisites

  • A Business or Enterprise account
  • A Zoom Phone license

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:update:numbers:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • contact_number (required)

    string — The contact phone number of the employee issuing the letter of authorization required to port in SMS capabilities on the numbers.

  • loa_authorizing_person (required)

    string — The name of the employee issuing the letter of authorization required to port in SMS capabilities on the numbers.

  • phone_number_ids (required)

    array — The maximum value is 200.

    Items:

    string

  • title (required)

    string — The job title of the person authorizing and signing the leave of absence.

  • contact_emails

    string — The contact email of the employee issuing the letter of authorization required to port in SMS capabilities on the numbers.

Example:

{
  "phone_number_ids": [
    "0kB2qDoSRMqzJti7VmNTIA"
  ],
  "loa_authorizing_person": "Alex Carter",
  "contact_number": "+12090000000",
  "title": "Zoom Engineer",
  "contact_emails": "alex.carter@zoom.us"
}

Responses

Status: 204 **HTTP Status Code:** `201` Phone numbers assigned successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1003004` <br> Insufficient campaign capacity. <br> **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found Invalid campaign ID.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Unassign phone number from SMS campaign

  • Method: DELETE
  • Path: /accounts/{accountId}/number_management/sms_campaigns/{smsCampaignId}/phone_numbers
  • Tags: SMS Campaigns

Unassigns a phone number from an SMS campaign.

Prerequisites:

  • A Business or Enterprise account
  • A Zoom Phone license
  • The campaign must have been previously assigned a Zoom Phone number

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:update:numbers:master

Rate Limit Label: LIGHT

Responses

Status: 204 **HTTP Status Code:** `204` The phone number has been unassigned successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found Invalid campaign ID.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List SMS consent policies

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sms_consent
  • Tags: SMS Consent

Returns a paginated list of SMS consent policies for the account.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:sms_consent:master

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` **OK** SMS consent policies retrieved successfully.
Content-Type: application/json
  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • sms_consent

    array — List of SMS consent policies.

    Items:

    • account_id

      string — The account ID that owns the consent policy.

    • consent_id

      string — The consent policy's ID.

    • consent_name

      string — The name of the SMS consent policy.

    • create_time

      string, format: date-time — The time when the consent policy was created.

    • description

      string — The description of the SMS consent policy.

    • in_out_bound

      object — The message configuration for opt-in, opt-out, help, and disclaimer messages.

      • disclaimer

        object — The message configuration for disclaimer

        • enable

          boolean — Whether the disclaimer is enabled.

        • message

          string — The disclaimer message text.

      • help_message

        object — The message configuration for help

        • keywords

          array — The keywords that trigger the help message.

          Items:

          string

        • message

          string — The help message sent to users when they request help.

      • opt_in_message

        object — The message configuration for opt-in

        • confirmation_message

          string — The confirmation message sent after a successful opt-in.

        • keywords

          array — The keywords that trigger the opt-in action.

          Items:

          string

        • prompt

          string — The prompt message sent to users to opt-in for SMS messages.

      • opt_out_message

        object — The message configuration for opt-out

        • keywords

          array — The keywords that trigger the opt-out action.

          Items:

          string

        • message

          string — The message sent to users when they opt-out.

    • modify_time

      string, format: date-time — The time when the consent policy was last modified.

    • status

      boolean — The status of the consent policy. `true` indicates active, `false` indicates inactive.

    • used_number

      integer, format: int64 — The number of phone numbers currently assigned to this consent policy.

  • total_records

    integer, format: int64 — The total number of records found.

Example:

{
  "page_size": 30,
  "total_records": 33,
  "next_page_token": "bkOcmnm6mn6ioYAi10BcgRiEL38WzAo6jP2",
  "sms_consent": [
    {
      "consent_id": "C-91H30r6xTCCpt8nNFSuhWA",
      "consent_name": "ZPconsent",
      "description": "This consent will be used by our employees to schedule events, provide reminders and support to our customers.",
      "account_id": "KGzOF3hCTamb_Xx-bXbgqA",
      "in_out_bound": {
        "opt_in_message": {
          "prompt": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information.",
          "keywords": [
            "START",
            "keyword"
          ],
          "confirmation_message": "You're subscribed!"
        },
        "opt_out_message": {
          "message": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
          "keywords": [
            "Stop",
            "keyword"
          ]
        },
        "help_message": {
          "message": "ZOOM: You can get more assistance by visiting https://zoom.us. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website.",
          "keywords": [
            "HELP",
            "keyword"
          ]
        },
        "disclaimer": {
          "message": "disclaimer",
          "enable": true
        }
      },
      "status": true,
      "create_time": "2024-06-01T08:55:38Z",
      "modify_time": "2025-09-19T11:20:59Z",
      "used_number": 48
    }
  ]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Create an SMS consent policy

  • Method: POST
  • Path: /accounts/{accountId}/number_management/sms_consent
  • Tags: SMS Consent

Creates a new SMS consent management policy to define opt-in, opt-out, and help message configurations for SMS communications.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:write:sms_consent:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • consent_name (required)

    string — The SMS consent policy's name.

  • in_out_bound (required)

    object — The message configuration for opt-in, opt-out, help, and disclaimer messages.

    • disclaimer (required)

      object — The disclaimer message configuration.

      • enable (required)

        boolean — Whether the disclaimer is enabled.

      • message (required)

        string — The disclaimer message text.

    • help_message (required)

      object — The help message configuration.

      • keywords (required)

        array — The keywords that trigger the help message.

        Items:

        string

      • message (required)

        string — The help message sent to users when they request help.

    • opt_in_message (required)

      object — The opt-in message configuration.

      • confirmation_message (required)

        string — The confirmation message sent after a successful opt-in.

      • keywords (required)

        array — The keywords that trigger the opt-in action.

        Items:

        string

      • prompt (required)

        string — The prompt message sent to users to opt-in for SMS messages.

    • opt_out_message (required)

      object — The opt out message configuration.

      • keywords (required)

        array — The keywords that trigger the opt out action.

        Items:

        string

      • message (required)

        string — The message sent to users when they opt out.

  • status (required)

    boolean — The status of the consent policy. `true` indicates active, `false` indicates inactive.

  • description

    string — The SMS consent policy's description.

Example:

{
  "consent_name": "ZPconsent",
  "description": "This consent will be used by our employees to schedule events, and provide reminders and support to our customers.",
  "in_out_bound": {
    "opt_in_message": {
      "prompt": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information.",
      "keywords": [
        "START",
        "keyword"
      ],
      "confirmation_message": "You're subscribed!"
    },
    "opt_out_message": {
      "message": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
      "keywords": [
        "Stop",
        "keyword"
      ]
    },
    "help_message": {
      "message": "ZOOM: You can get more assistance by visiting https://zoom.us. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website.",
      "keywords": [
        "HELP",
        "keyword"
      ]
    },
    "disclaimer": {
      "message": "disclaimer",
      "enable": true
    }
  },
  "status": true
}

Responses

Status: 201 **HTTP Status Code:** `201` **Created** SMS consent policy created successfully.
Content-Type: application/json
  • account_id

    string — The account ID that owns the consent policy.

  • capacity

    integer, format: int64 — The maximum number of phone numbers that can be assigned to this consent policy.

  • consent_id

    string — The consent policy's ID.

  • consent_name

    string — The SMS consent policy's name.

  • create_time

    string, format: date-time — The time when the consent policy was created.

  • description

    string — The SMS consent policy's description.

  • in_out_bound

    object — The message configuration for opt-in, opt-out, help, and disclaimer messages.

    • disclaimer

      object

      • enable

        boolean — Whether the disclaimer is enabled.

      • message

        string — The disclaimer message text.

    • help_message

      object

      • keywords

        array — The keywords that trigger the help message.

        Items:

        string

      • message

        string — The help message sent to users when they request help.

    • opt_in_message

      object

      • confirmation_message

        string — The confirmation message sent after a successful opt in.

      • keywords

        array — The keywords that trigger the opt in action.

        Items:

        string

      • prompt

        string — The prompt message sent to users to opt in for SMS messages.

    • opt_out_message

      object

      • keywords

        array — The keywords that trigger the opt-out action.

        Items:

        string

      • message

        string — The message sent to users when they opt out.

  • modify_time

    string, format: date-time — The time when the consent policy was last modified.

  • status

    boolean — The consent policy's status. `true` indicates active, `false` indicates inactive.

  • used_number

    integer, format: int64 — The number of phone numbers currently assigned to this consent policy.

  • user_id

    string — The ID of the user who created the consent policy.

Example:

{
  "consent_id": "C-91H30r6xTCCpt8nNFSuhWA",
  "consent_name": "ZPconsent",
  "description": "This consent will be used by our employees to schedule events, provide reminders and support to our customers.",
  "user_id": "0GVPDRXiSAaDb73-e2tW0A",
  "account_id": "KGzOF3hCTamb_Xx-bXbgqA",
  "in_out_bound": {
    "opt_in_message": {
      "prompt": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information.",
      "keywords": [
        "START",
        "keyword"
      ],
      "confirmation_message": "You're subscribed!"
    },
    "opt_out_message": {
      "message": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
      "keywords": [
        "Stop",
        "keyword"
      ]
    },
    "help_message": {
      "message": "ZOOM: You can get more assistance by visiting https://zoom.us. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website.",
      "keywords": [
        "HELP",
        "keyword"
      ]
    },
    "disclaimer": {
      "message": "disclaimer",
      "enable": true
    }
  },
  "status": true,
  "capacity": 999,
  "create_time": "2024-06-01T08:55:38Z",
  "modify_time": "2025-09-19T11:20:59Z",
  "used_number": 0
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `999` <br> Invalid field. <br> **Error Code:** `1002` <br> The request body format does not match, please refer to the document <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Delete SMS consent policies

  • Method: DELETE
  • Path: /accounts/{accountId}/number_management/sms_consent
  • Tags: SMS Consent

Deletes one or more SMS consent policies.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:delete:sms_consent:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • consent_ids (required)

    array — The list of consent policy IDs to delete.

    Items:

    string

Example:

{
  "consent_ids": [
    "-6QPOIFtSU-wjt2Kl2TUng",
    "-72t1AufQ5mqjg44xzfcCQ"
  ]
}

Responses

Status: 204 **HTTP Status Code:** `204` **No Content** SMS consent policies deleted successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `999` <br> Invalid field. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get an SMS consent policy

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sms_consent/{consentId}
  • Tags: SMS Consent

Returns a specific SMS consent policy by ID.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:sms_consent:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** SMS consent policy details retrieved successfully.
Content-Type: application/json
  • account_id

    string — The account ID that owns the consent policy.

  • capacity

    integer, format: int64 — The maximum number of phone numbers that can be assigned to this consent policy.

  • consent_id

    string — The consent policy's ID.

  • consent_name

    string — The name of the SMS consent policy.

  • create_time

    string, format: date-time — The time when the consent policy was created.

  • description

    string — The description of the SMS consent policy.

  • in_out_bound

    object — The message configuration for opt-in, opt-out, help, and disclaimer messages.

    • disclaimer

      object — The message configuration for disclaimer

      • enable

        boolean — Whether the disclaimer is enabled.

      • message

        string — The disclaimer message text.

    • help_message

      object — The message configuration for help

      • keywords

        array — The keywords that trigger the help message.

        Items:

        string

      • message

        string — The help message sent to users when they request help.

    • opt_in_message

      object — The message configuration for opt-in

      • confirmation_message

        string — The confirmation message sent after a successful opt-in.

      • keywords

        array — The keywords that trigger the opt-in action.

        Items:

        string

      • prompt

        string — The prompt message sent to users to opt-in for SMS messages.

    • opt_out_message

      object — The message configuration for opt-out

      • keywords

        array — The keywords that trigger the opt-out action.

        Items:

        string

      • message

        string — The message sent to users when they opt-out.

  • modify_time

    string, format: date-time — The time when the consent policy was last modified.

  • status

    boolean — The status of the consent policy. `true` indicates active, `false` indicates inactive.

  • used_number

    integer, format: int64 — The number of phone numbers currently assigned to this consent policy.

  • user_id

    string — The ID of the user who created the consent policy.

Example:

{
  "consent_id": "C-91H30r6xTCCpt8nNFSuhWA",
  "consent_name": "ZPconsent",
  "description": "This consent will be used by our employees to schedule events, provide reminders and support to our customers.",
  "user_id": "0GVPDRXiSAaDb73-e2tW0A",
  "account_id": "KGzOF3hCTamb_Xx-bXbgqA",
  "in_out_bound": {
    "opt_in_message": {
      "prompt": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information.",
      "keywords": [
        "START",
        "keyword"
      ],
      "confirmation_message": "You're subscribed!"
    },
    "opt_out_message": {
      "message": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
      "keywords": [
        "Stop",
        "keyword"
      ]
    },
    "help_message": {
      "message": "ZOOM: You can get more assistance by visiting https://zoom.us. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website.",
      "keywords": [
        "HELP",
        "keyword"
      ]
    },
    "disclaimer": {
      "message": "disclaimer",
      "enable": true
    }
  },
  "status": true,
  "capacity": 999,
  "create_time": "2024-06-01T08:55:38Z",
  "modify_time": "2025-09-19T11:20:59Z",
  "used_number": 0
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1002013` <br> The consent does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Update an SMS consent policy

  • Method: PATCH
  • Path: /accounts/{accountId}/number_management/sms_consent/{consentId}
  • Tags: SMS Consent

Updates an existing SMS consent policy. Only provided fields will be updated.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:update:sms_consent:master

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • consent_name

    string — The SMS consent policy's name.

  • description

    string — The SMS consent policy's description.

  • in_out_bound

    object — The message configuration for opt-in, opt-out, help, and disclaimer messages.

    • disclaimer

      object — The disclaimer message configuration.

      • enable

        boolean — Whether the disclaimer is enabled.

      • message

        string — The disclaimer message text.

    • help_message

      object — The help message configuration.

      • keywords

        array — The keywords that trigger the help message.

        Items:

        string

      • message

        string — The help message sent to users when they request help.

    • opt_in_message

      object — The opt-in message configuration.

      • confirmation_message

        string — The confirmation message sent after a successful opt-in.

      • keywords

        array — The keywords that trigger the opt-in action.

        Items:

        string

      • prompt

        string — The prompt message sent to users to opt-in for SMS messages.

    • opt_out_message

      object — The opt out message configuration.

      • keywords

        array — The keywords that trigger the opt out action.

        Items:

        string

      • message

        string — The message sent to users when they opt out.

  • status

    boolean — The consent policy's status. `true` indicates active, `false` indicates inactive.

Example:

{
  "consent_name": "ZPconsent Updated",
  "description": "Updated description for the consent policy.",
  "in_out_bound": {
    "opt_in_message": {
      "prompt": "Text START to receive text messages from ZOOM. Message frequency may vary. Message and Data Rates may apply. To end messaging from us, reply with STOP. Reply with HELP for more information.",
      "keywords": [
        "START",
        "keyword"
      ],
      "confirmation_message": "You're subscribed!"
    },
    "opt_out_message": {
      "message": "You are unsubscribed to texts from ZOOM. No more messages will be sent.",
      "keywords": [
        "Stop",
        "keyword"
      ]
    },
    "help_message": {
      "message": "ZOOM: You can get more assistance by visiting https://zoom.us. Text STOP to stop receiving messages from us. You can also text START to start receiving messages from us again. You can also refer to our privacy policy on our website.",
      "keywords": [
        "HELP",
        "keyword"
      ]
    },
    "disclaimer": {
      "message": "disclaimer",
      "enable": true
    }
  },
  "status": true
}

Responses

Status: 204 **HTTP Status Code:** `204` **No Content** SMS consent policy updated successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `999` <br> Invalid field. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1002013` <br> The consent does not exist. <br>

List phone numbers assigned to SMS consent policy

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sms_consent/{consentId}/phone_numbers
  • Tags: SMS Consent

Returns a paginated list of phone numbers assigned to a specific SMS consent policy.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:sms_consent:master

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` **OK** Phone numbers retrieved successfully.
Content-Type: application/json
  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • sms_consent_number

    array — List of phone numbers assigned to the consent policy.

    Items:

    • account_id

      string — The account ID that owns the phone number.

    • phone_number

      string — The phone number assigned to the consent policy.

    • phone_number_id

      string — The phone number's ID.

  • total_records

    integer, format: int64 — The total number of records found.

Example:

{
  "page_size": 30,
  "total_records": 33,
  "next_page_token": "bkOcmnm6mn6ioYAi10BcgRiEL38WzAo6jP2",
  "sms_consent_number": [
    {
      "phone_number_id": "-6QPOIFtSU-wjt2Kl2TUng",
      "phone_number": "+12095805275",
      "account_id": "KGzOF3hCTamb_Xx-bXbgqA"
    }
  ]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1002013` <br> The consent does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Assign phone numbers to SMS consent policy

  • Method: POST
  • Path: /accounts/{accountId}/number_management/sms_consent/{consentId}/phone_numbers
  • Tags: SMS Consent

Assigns one or more phone numbers to an SMS consent policy.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:write:numbers:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • phone_number_ids (required)

    array — The list of phone number IDs to assign to the consent policy.

    Items:

    string

Example:

{
  "phone_number_ids": [
    "-6QPOIFtSU-wjt2Kl2TUng",
    "-72t1AufQ5mqjg44xzfcCQ"
  ]
}

Responses

Status: 201 **HTTP Status Code:** `201` **Created** Phone numbers assigned successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1002013` <br> The consent does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Unassign phone numbers from SMS consent policy

  • Method: DELETE
  • Path: /accounts/{accountId}/number_management/sms_consent/{consentId}/phone_numbers
  • Tags: SMS Consent

Unassigns one or more phone numbers from an SMS consent policy.

Scopes: number_management_numbers:write:master

Granular Scopes: number_management:delete:numbers:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • phone_number_ids (required)

    array — The list of phone number IDs to unassign from the consent policy.

    Items:

    string

Example:

{
  "phone_number_ids": [
    "-6QPOIFtSU-wjt2Kl2TUng",
    "-72t1AufQ5mqjg44xzfcCQ"
  ]
}

Responses

Status: 204 **HTTP Status Code:** `204` **No Content** Phone numbers unassigned successfully.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1003` <br> Too many numbers, should less than 200 <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1002013` <br> The consent does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

List ported numbers

  • Method: GET
  • Path: /accounts/{accountId}/number_management/ported_numbers/orders
  • Tags: Setting

Returns a list of ported numbers in a Zoom account.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_ported_numbers:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** Ported Phone numbers listed successfully.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through large result sets. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • ported_numbers

    array

    Items:

    • numbers

      array — The ported numbers.

      Items:

      string

    • order_id

      string — The ported numbers' order ID.

    • replacing_numbers

      array — The ported numbers' replacement numbers.

      Items:

      • source_number

        string — The source number.

      • target_number

        string — The replaced number.

    • status

      string, possible values: "Not_Submitted", "Waiting", "Processing", "Successfully", "Rejected", "Canceled", "FOC" — The ported numbers' status.

    • submission_date_time

      string — The time ported numbers were submitted (format: 'yyyy-MM-ddThh:dd:ssZ').

  • total_records

    integer — The total number of records returned.

Example:

{
  "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42",
  "page_size": 30,
  "ported_numbers": [
    {
      "numbers": [
        "+12058945752"
      ],
      "order_id": "2021080307332974349",
      "replacing_numbers": [
        {
          "source_number": "+12058945752",
          "target_number": "+12058945755"
        }
      ],
      "status": "Canceled",
      "submission_date_time": "2021-08-03T07:33:29Z"
    }
  ],
  "total_records": 2
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get ported numbers details

  • Method: GET
  • Path: /accounts/{accountId}/number_management/ported_numbers/orders/{orderId}
  • Tags: Setting

Returns the details on the ported numbers by specifying order_id.

Prerequisites

  • A Pro or higher account plan
  • A Zoom phone license

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:ported_number:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` **OK** Ported numbers details retrieved successfully.
Content-Type: application/json
  • contact_emails

    string — The contact emails of transferring numbers.

  • contact_number

    string — The contact numbers for transferring numbers.

  • isp

    string — The ported numbers' ISP.

  • numbers

    array — The ported numbers.

    Items:

    string

  • order_id

    string — The ported numbers' order ID.

  • original_billing_info

    object — The ported numbers' original billing info.

    • account_number

      string

    • address

      object

      • city

        string

      • country

        string

      • house_number

        string

      • state_code

        string

      • street_name

        string

      • zip

        string

    • authorizing_person

      string

    • billing_telephone_number

      string

    • company

      string

    • customer_requested_date

      string

    • pin

      string

  • printed_name

    string — The printed names on transferring numbers.

  • replacing_numbers

    array — The ported numbers' replacement numbers.

    Items:

    • source_number

      string — The source number.

    • target_number

      string — The replaced number.

  • status

    string, possible values: "Not_Submitted", "Waiting", "Processing", "Successfully", "Rejected", "Canceled", "FOC" — The ported numbers' status.

  • submission_date_time

    string — The time ported numbers were submitted (format: 'yyyy-MM-ddThh:dd:ssZ').

Example:

{
  "contact_emails": "example@163.com",
  "contact_number": "2058945753",
  "isp": "Twilio International",
  "numbers": [
    "+12058945752"
  ],
  "order_id": "2021080307332974349",
  "original_billing_info": {
    "account_number": "111223",
    "address": {
      "city": "San Jose",
      "country": "US",
      "house_number": "55",
      "state_code": "CA",
      "street_name": "ALMADEN BLVD",
      "zip": "95113"
    },
    "authorizing_person": "zz",
    "billing_telephone_number": "2058945751",
    "company": "zm",
    "customer_requested_date": "2021-08-06",
    "pin": "111223"
  },
  "printed_name": "Jiang",
  "replacing_numbers": [
    {
      "source_number": "+12058945752",
      "target_number": "+12058945755"
    }
  ],
  "status": "Canceled",
  "submission_date_time": "2021-08-03T07:33:29Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> Port in order does not exist <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List SIP groups

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sip_groups
  • Tags: Setting

Returns a list of SIP (Session Initiation Protocol) groups.

Prerequisites

  • Pro or a higher account with Zoom Phone license
  • Account owner or admin permissions

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_sip_groups:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` SIP groups successfully listed.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • sip_groups

    array — The SIP group information.

    Items:

    • display_name (required)

      string — The SIP group's display name.

    • sip_group_id (required)

      string — The SIP group's ID.

    • description

      string — The SIP group's description.

    • send_sip_group_name

      boolean — Whether the SIP group's name is sent in the SIP header.

    • sip_trunk

      object — The SIP trunk group.

      • name (required)

        string — The SIP trunk group's name.

      • sip_trunk_id (required)

        string — The SIP trunk's ID.

      • type

        string, possible values: "BYOC", "BYOP" — The types of SIP trunks

    • source_system

      string, possible values: "ZOOM_PHONE", "ZOOM_CONTACT_CENTER", "COMMON" — The source of BYOC SIP group.

  • total_records

    integer — The number of records returned with a single API call.

Example:

{
  "next_page_token": "IXIhcpJWscHfISSKTcdl2QpSMLyRE38zH92",
  "total_records": 88,
  "sip_groups": [
    {
      "description": "test SIP group",
      "display_name": "RRRR",
      "sip_group_id": "8MhK7ea4Q4ihIQ4TD_g0kw",
      "send_sip_group_name": false,
      "sip_trunk": {
        "sip_trunk_id": "VWQU-veBQnm08EtBkUGnbw",
        "name": "TESTAPI01",
        "type": "BYOC"
      },
      "source_system": "ZOOM_PHONE"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1002_006` <br> product cannot be empty <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List BYOC SIP trunks

  • Method: GET
  • Path: /accounts/{accountId}/number_management/sip_trunks
  • Tags: Setting

Returns a list of an account's assigned BYOC (Bring Your Own Carrier) SIP (Session Initiation Protocol) trunks.

Scopes: number_management_numbers:read:master

Granular Scopes: number_management:read:list_sip_trunks:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Codes**: `200` OK.
Content-Type: application/json
  • byoc_sip_trunk

    array

    Items:

    • name (required)

      string — The display name of the SIP Trunk.

    • sip_trunk_id (required)

      string — The unique SIP Trunk ID.

    • carrier

      string — The name of the carrier.

    • carrier_account

      string — The account associated to the carrier.

    • region

      string — The region of the carrier.

    • sbc_label

      string — The Session Border Controller (SBC) routing label.

    • source_system

      string, possible values: "COMMON", "ZOOM_PHONE", "ZOOM_CONTACT_CENTER" — The source of BYOC SIP Trunk

  • next_page_token

    string — The next page token paginates through a large set of results. It returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • total_records

    integer, default: 30 — The number of records returned within a single API call. The default is **30**, and the maximum is **100**.

Example:

{
  "byoc_sip_trunk": [
    {
      "carrier": "Bandwidth",
      "carrier_account": "123123131313",
      "sip_trunk_id": "fVA-LsQhQAC2fTS7NiccFA",
      "name": "TestSipTrunk",
      "region": "newqa01sipjp01",
      "sbc_label": "Test",
      "source_system": "COMMON"
    }
  ],
  "next_page_token": "Ds6anZEv59aLMmTSrfF4wmHYCMiYXMWhRQ2",
  "total_records": 30
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1002_006` <br> product cannot be empty <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden You do not have permission.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).