SendGrid · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Twilio SendGrid Legacy Marketing Campaigns Campaigns…
12 actions
12 updates
phrasing
extends
openapi/sendgrid-campaigns-api-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for SendGrid's API. It is a proposal applied on top of the contract, not a document SendGrid publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/v3/campaigns'].get
$.paths['/v3/campaigns'].post
$.paths['/v3/campaigns/{campaign_id}'].get
$.paths['/v3/campaigns/{campaign_id}'].delete
$.paths['/v3/campaigns/{campaign_id}'].patch
$.paths['/v3/campaigns/{campaign_id}/schedules'].get
$.paths['/v3/campaigns/{campaign_id}/schedules'].post
$.paths['/v3/campaigns/{campaign_id}/schedules'].delete
$.paths['/v3/campaigns/{campaign_id}/schedules'].patch
$.paths['/v3/campaigns/{campaign_id}/schedules/now'].post
$.paths['/v3/campaigns/{campaign_id}/schedules/test'].post
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 Twilio SendGrid Legacy Marketing Campaigns Campaigns…
version: 1.0.0
extends: openapi/sendgrid-campaigns-api-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-24'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 11
- target: $.paths['/v3/campaigns'].get
update:
x-apievangelist-phrasing:
intent: List legacy marketing campaigns
effect: read
questions:
- Which campaigns have I created in legacy Marketing Campaigns?
- Can I page through my legacy campaigns newest first?
instructions:
- text: List my legacy marketing campaigns.
- text: Show {limit} legacy campaigns starting at offset {offset}.
slots:
limit: query.limit
offset: query.offset
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns'].post
update:
x-apievangelist-phrasing:
intent: Create a legacy marketing campaign
effect: write
questions:
- What do I need before a legacy campaign can be sent or scheduled?
- Can I set up a legacy campaign targeting specific lists with a suppression group?
instructions:
- text: Create a legacy campaign titled {title}.
slots:
title: requestBody.title
- text: Create campaign {title} with subject {subject} to lists {list_ids} from sender {sender_id}.
slots:
title: requestBody.title
subject: requestBody.subject
list_ids: requestBody.list_ids
sender_id: requestBody.sender_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a legacy campaign
effect: read
questions:
- Where can I see the content and settings of a single legacy campaign?
- What subject and lists is a given legacy campaign using?
instructions:
- text: Show legacy campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Get the details of campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a legacy campaign
effect: destructive
questions:
- Can I permanently remove a legacy campaign I no longer need?
- Is deleting a legacy marketing campaign reversible?
instructions:
- text: Delete legacy campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Remove campaign {campaign_id} from my legacy campaigns.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit a legacy campaign's content
effect: write
questions:
- Can I change the subject and body of a legacy campaign I already created?
- Which fields must I send when editing an existing legacy campaign?
instructions:
- text: Update campaign {campaign_id} with title {title}, subject {subject}, categories {categories}, HTML {html_content} and text {plain_content}.
slots:
campaign_id: path.campaign_id
title: requestBody.title
subject: requestBody.subject
categories: requestBody.categories
html_content: requestBody.html_content
plain_content: requestBody.plain_content
- text: 'Rewrite legacy campaign {campaign_id}: subject {subject}, title {title}, tags {categories}, bodies {html_content} / {plain_content}.'
slots:
campaign_id: path.campaign_id
subject: requestBody.subject
title: requestBody.title
categories: requestBody.categories
html_content: requestBody.html_content
plain_content: requestBody.plain_content
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules'].get
update:
x-apievangelist-phrasing:
intent: See when a legacy campaign is scheduled
effect: read
questions:
- When is my legacy campaign set to go out?
- Has a given campaign been scheduled yet, and for what time?
instructions:
- text: Show the scheduled send time for campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Tell me when legacy campaign {campaign_id} will send.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules'].post
update:
x-apievangelist-phrasing:
intent: Schedule a legacy campaign
effect: write
questions:
- Can I pick a future date and time for a legacy campaign to send?
- Is it better to schedule campaigns at off-peak times rather than the top of the hour?
instructions:
- text: Schedule campaign {campaign_id} to send at {send_at}.
slots:
campaign_id: path.campaign_id
send_at: requestBody.send_at
- text: Set legacy campaign {campaign_id} to go out at unix time {send_at}.
slots:
campaign_id: path.campaign_id
send_at: requestBody.send_at
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules'].delete
update:
x-apievangelist-phrasing:
intent: Unschedule a legacy campaign
effect: destructive
questions:
- Can I pull back a legacy campaign that's scheduled but hasn't sent yet?
- What if the campaign is already in the middle of sending when I try to unschedule it?
instructions:
- text: Unschedule campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Cancel the scheduled send for legacy campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules'].patch
update:
x-apievangelist-phrasing:
intent: Reschedule a legacy campaign
effect: write
questions:
- Can I move an already scheduled campaign to a different send time?
- Is it possible to push back a legacy campaign's scheduled date?
instructions:
- text: Reschedule campaign {campaign_id} to {send_at}.
slots:
campaign_id: path.campaign_id
send_at: requestBody.send_at
- text: Change the scheduled time of legacy campaign {campaign_id} to {send_at}.
slots:
campaign_id: path.campaign_id
send_at: requestBody.send_at
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules/now'].post
update:
x-apievangelist-phrasing:
intent: Send a legacy campaign immediately
effect: write
questions:
- Can I send a legacy campaign right now instead of scheduling it?
- What happens when I send an existing campaign immediately?
instructions:
- text: Send campaign {campaign_id} now.
slots:
campaign_id: path.campaign_id
- text: Send legacy campaign {campaign_id} immediately to its lists.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/campaigns/{campaign_id}/schedules/test'].post
update:
x-apievangelist-phrasing:
intent: Send a test of a legacy campaign
effect: write
questions:
- Can I preview a legacy campaign by sending a test to my own inbox?
- Is it possible to send a campaign test to several addresses at once?
instructions:
- text: Send a test of campaign {campaign_id} to {to}.
slots:
campaign_id: path.campaign_id
to: requestBody.to
- text: Email a test copy of legacy campaign {campaign_id} to addresses {to}.
slots:
campaign_id: path.campaign_id
to: requestBody.to
method: generated
generated: '2026-09-24'