# Outbound Caller ID Scope Mismatch

**URL:** <https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804>\
**Category:** API and Webhooks\
**Tags:** phone, api\
**Created:** [October 24, 2024, 8:45pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804 "2024-10-24T20:45:31Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![wguethlein](https://avatars.discourse-cdn.com/v4/letter/w/e0b2c6/32.png) [@wguethlein](https://devforum.zoom.us/u/wguethlein)\
**Post date:** [October 24, 2024, 8:45pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/1 "2024-10-24T20:45:31Z")

</div>

I’m using the `/phone/sites/{site_id}/outbound_caller_id/customized_numbers` endpoint. With the S2S auth flow, running in postman. The token is valid still, pulled a new one roughly 5 minutes prior to writing. Other API endpoints work for me with no issue.

I’m getting a 104 `"Invalid access token, does not contain scopes: [phone:read:list_site_customized_numbers:admin]"` error. Though when I go into my application, I see the scope `"phone:read:list_site_customized_number:admin"` added and saved.

These aren’t the same scopes, “numbers” vs “number”, is there a second granular scope that I’m missing? The documentation seems to also mention “number”, but the API requires a “numbers” scope.

```auto
GET /v2/phone/sites/{site_id}/outbound_caller_id/customized_numbers
--header 'Authorization: {token}'

```

---

<div class="post-metadata">

**Author:** ![wguethlein](https://avatars.discourse-cdn.com/v4/letter/w/e0b2c6/32.png) [@wguethlein](https://devforum.zoom.us/u/wguethlein)\
**Post date:** [October 28, 2024, 1:38pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/2 "2024-10-28T13:38:10Z")

</div>

Here is a photo of the response on postman, wasn’t able to post it previously because of forum level.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/e/b/ebab6bfa5a4633dfe084c33df6bc1c92bf5ef957.png)

Scopes added to the application that are pertinent to the issue:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/8/b/8bf92866bcd45422097d47dcaf917f2b0f054d8e.png)

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [October 31, 2024, 6:43pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/3 "2024-10-31T18:43:30Z")

</div>

Hi @wguethlein  
thanks for reaching out to us!  
By the screenshot you shared, it looks like the scope is not selected in your app, could you please make sure it is added and verify that the scopes come back in your response from getting the access token

---

<div class="post-metadata">

**Author:** ![wguethlein](https://avatars.discourse-cdn.com/v4/letter/w/e0b2c6/32.png) [@wguethlein](https://devforum.zoom.us/u/wguethlein)\
**Post date:** [November 4, 2024, 3:26pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/4 "2024-11-04T15:26:13Z")

</div>

Hi @elisa.zoom , the scope is added, but it’s not set to optional.

Here is the response from gaining my access token, long list of scopes as I’m testing currently, the pertinent scope is second to last.

```auto
{
     access_token: 'ACCESS_TOKEN',
     token_type: 'bearer',
     expires_in: 3600,
     scope: 'user:read:list_users:admin user:write:user:admin user:read:user:admin user:update:user:admin user:delete:user:admin user:update:status:admin user:update:password:admin user:write:assistant:admin user:delete:assistant:admin user:write:profile_picture:admin user:delete:token:admin user:delete:scheduler:admin user:update:email:admin user:update:presence_status:admin user:update:settings:admin user:write:virtual_background_files:admin user:delete:virtual_background_files:admin user:write:feature:admin user:delete:profile_picture:admin account:update:options:admin account:update:settings:admin account:update:lock_settings:admin account:update:owner:admin account:update:registration_settings:admin phone:update:number:admin phone:update:settings:admin phone:update:user:admin phone:write:user_number:admin phone:read:list_sites:admin phone:write:site:admin phone:read:site:admin phone:update:site:admin phone:write:batch_users:admin phone:update:batch_users:admin phone:read:list_site_customized_number:admin zra:read:indicator:admin',
     api_url: 'https://api.zoom.us'
}

```

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [November 4, 2024, 5:56pm UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/5 "2024-11-04T17:56:17Z")

</div>

Thanks @wguethlein  
I will send you a DM to get more details about this issue.  
Please follow up there

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [November 8, 2025, 9:33am UTC](https://devforum.zoom.us/t/outbound-caller-id-scope-mismatch/119804/6 "2025-11-08T09:33:00Z")

</div>

Closed on November 8, 2025, 9:33am UTC

This topic was automatically closed 368 days after the last reply. New replies are no longer allowed.
