Zoom Phone · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Phone SMS Campaign API
8 actions
8 updates
phrasing
extends
openapi/zoom-phone-sms-campaign-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Zoom Phone's API. It is a proposal applied on top of the contract, not a document Zoom Phone publishes.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/phone/sms_campaigns'].get
$.paths['/phone/sms_campaigns/{smsCampaignId}'].get
$.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers'].post
$.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/opt_status'].get
$.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/opt_status'].patch
$.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/{phoneNumberId}'].delete
$.paths['/phone/user/{userId}/sms_campaigns/phone_numbers/opt_status'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Phone SMS Campaign API
version: 1.0.0
extends: openapi/zoom-phone-sms-campaign-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/phone/sms_campaigns'].get
update:
x-apievangelist-phrasing:
intent: List SMS campaigns
effect: read
questions:
- What 10DLC SMS campaigns are registered on our account?
- Where can I see every SMS campaign we have?
instructions:
- text: List all SMS campaigns.
- text: List SMS campaigns, {page_size} per page.
slots:
page_size: query.page_size
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/sms_campaigns/{smsCampaignId}'].get
update:
x-apievangelist-phrasing:
intent: Get an SMS campaign
effect: read
questions:
- What are the details and numbers of a particular SMS campaign?
- Can I check one 10DLC campaign's status?
instructions:
- text: Show SMS campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
- text: Get details of campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers'].post
update:
x-apievangelist-phrasing:
intent: Assign phone numbers to an SMS campaign
effect: write
questions:
- How do I add our numbers to a 10DLC SMS campaign?
- Who needs to sign the letter of authorization when assigning numbers to a campaign?
instructions:
- text: Assign {phone_numbers} to SMS campaign {smsCampaignId}, authorized by {loa_authorizing_person} ({title}) at {contact_number}.
slots:
smsCampaignId: path.smsCampaignId
phone_numbers: requestBody.phone_numbers
loa_authorizing_person: requestBody.loa_authorizing_person
title: requestBody.title
contact_number: requestBody.contact_number
- text: Add numbers {phone_numbers} to campaign {smsCampaignId} with LOA signer {loa_authorizing_person}, {title}, phone {contact_number}.
slots:
smsCampaignId: path.smsCampaignId
phone_numbers: requestBody.phone_numbers
loa_authorizing_person: requestBody.loa_authorizing_person
title: requestBody.title
contact_number: requestBody.contact_number
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/opt_status'].get
update:
x-apievangelist-phrasing:
intent: Check opt-in status for an SMS campaign
effect: read
questions:
- Has a customer opted out of a specific SMS campaign's numbers?
- Can I see whether a consumer is opted in to texts from our campaign numbers?
instructions:
- text: Check campaign {smsCampaignId} opt status of {consumer_phone_number} for {zoom_phone_user_numbers}.
slots:
smsCampaignId: path.smsCampaignId
consumer_phone_number: query.consumer_phone_number
zoom_phone_user_numbers: query.zoom_phone_user_numbers
- text: Is {consumer_phone_number} opted in to {zoom_phone_user_numbers} on SMS campaign {smsCampaignId}? Find out.
slots:
smsCampaignId: path.smsCampaignId
consumer_phone_number: query.consumer_phone_number
zoom_phone_user_numbers: query.zoom_phone_user_numbers
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/opt_status'].patch
update:
x-apievangelist-phrasing:
intent: Opt a consumer in or out of an SMS campaign
effect: write
questions:
- How do I record that a customer opted out of our campaign texts?
- Can I opt a consumer back in to an SMS campaign manually?
instructions:
- text: Set {consumer_phone_number} to {opt_status} for {zoom_phone_user_numbers} on campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
consumer_phone_number: requestBody.consumer_phone_number
opt_status: requestBody.opt_status
zoom_phone_user_numbers: requestBody.zoom_phone_user_numbers
- text: Opt {consumer_phone_number} {opt_status} of texts from {zoom_phone_user_numbers} in SMS campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
consumer_phone_number: requestBody.consumer_phone_number
opt_status: requestBody.opt_status
zoom_phone_user_numbers: requestBody.zoom_phone_user_numbers
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/sms_campaigns/{smsCampaignId}/phone_numbers/{phoneNumberId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a number from an SMS campaign
effect: destructive
questions:
- How do I take a phone number out of an SMS campaign?
- Can I detach one number from a 10DLC campaign?
instructions:
- text: Unassign number {phoneNumberId} from SMS campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
phoneNumberId: path.phoneNumberId
- text: Remove {phoneNumberId} from campaign {smsCampaignId}.
slots:
smsCampaignId: path.smsCampaignId
phoneNumberId: path.phoneNumberId
method: generated
generated: '2026-10-01'
- target: $.paths['/phone/user/{userId}/sms_campaigns/phone_numbers/opt_status'].get
update:
x-apievangelist-phrasing:
intent: Check a user's numbers' campaign opt statuses
effect: read
questions:
- Which consumers have opted out of texts from my own Zoom Phone numbers?
- Can I check opt statuses for one user's numbers across campaigns?
instructions:
- text: Check opt statuses of {consumer_phone_numbers} for user {userId}'s numbers {zoom_phone_user_numbers}.
slots:
userId: path.userId
consumer_phone_numbers: query.consumer_phone_numbers
zoom_phone_user_numbers: query.zoom_phone_user_numbers
- text: Look up whether {consumer_phone_numbers} are opted in to user {userId}'s own numbers {zoom_phone_user_numbers}.
slots:
userId: path.userId
consumer_phone_numbers: query.consumer_phone_numbers
zoom_phone_user_numbers: query.zoom_phone_user_numbers
method: generated
generated: '2026-10-01'