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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/sendgrid-campaigns-api-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.