SendGrid · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Twilio SendGrid Domain Authentication API
17 actions
17 updates
phrasing
extends
openapi/sendgrid-domain-authentication-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 17 · first 16 shown; the file carries all of them
$.info
$.paths['/v3/whitelabel/dns/email'].post
$.paths['/v3/whitelabel/domains'].get
$.paths['/v3/whitelabel/domains'].post
$.paths['/v3/whitelabel/domains/{domain_id}'].get
$.paths['/v3/whitelabel/domains/{domain_id}'].delete
$.paths['/v3/whitelabel/domains/{domain_id}'].patch
$.paths['/v3/whitelabel/domains/{domain_id}/subuser'].post
$.paths['/v3/whitelabel/domains/{domain_id}/subuser'].delete
$.paths['/v3/whitelabel/domains/{domain_id}/subuser:add'].post
$.paths['/v3/whitelabel/domains/{id}/ips'].post
$.paths['/v3/whitelabel/domains/{id}/ips/{ip}'].delete
$.paths['/v3/whitelabel/domains/{id}/validate'].post
$.paths['/v3/whitelabel/domains/default'].get
$.paths['/v3/whitelabel/domains/subuser'].get
$.paths['/v3/whitelabel/domains/subuser'].delete
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 Domain Authentication API
version: 1.0.0
extends: openapi/sendgrid-domain-authentication-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: 16
- target: $.paths['/v3/whitelabel/dns/email'].post
update:
x-apievangelist-phrasing:
intent: Email domain DNS records to a co-worker
effect: write
questions:
- Can I send the DNS records for domain authentication to a colleague who manages our DNS?
- Is there a way to email someone the CNAME records they need to add for our sending domain and branded link?
instructions:
- text: Email the DNS records for domain {domain_id} and branded link {link_id} to {email}.
slots:
domain_id: requestBody.domain_id
link_id: requestBody.link_id
email: requestBody.email
- text: Send {email} the DNS setup for domain {domain_id} and link {link_id} with the note {message}.
slots:
email: requestBody.email
domain_id: requestBody.domain_id
link_id: requestBody.link_id
message: requestBody.message
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains'].get
update:
x-apievangelist-phrasing:
intent: List all authenticated domains
effect: read
questions:
- Which sending domains have I authenticated in SendGrid?
- Can I page through my authenticated domains and leave out the ones belonging to subusers?
instructions:
- text: List all of my authenticated domains.
- text: Show authenticated domains matching {domain}, {limit} per page.
slots:
domain: query.domain
limit: query.limit
- text: List the authenticated domains for subuser {username} only.
slots:
username: query.username
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains'].post
update:
x-apievangelist-phrasing:
intent: Authenticate a new sending domain
effect: write
questions:
- What do I need to start authenticating a new domain for sending email?
- Can I authenticate a domain on behalf of one of my subusers with a custom DKIM selector?
instructions:
- text: Authenticate the domain {domain} for sending.
slots:
domain: requestBody.domain
- text: Authenticate {domain} with subdomain {subdomain} and automated security turned on {automatic_security}.
slots:
domain: requestBody.domain
subdomain: requestBody.subdomain
automatic_security: requestBody.automatic_security
- text: Set up domain authentication for {domain} on behalf of subuser {username}.
slots:
domain: requestBody.domain
username: requestBody.username
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one authenticated domain
effect: read
questions:
- Where can I see the DNS records and validity of a single authenticated domain?
- What settings does a particular authenticated domain have right now?
instructions:
- text: Show me authenticated domain {domain_id}.
slots:
domain_id: path.domain_id
- text: Get the DNS records and status for authenticated domain {domain_id}.
slots:
domain_id: path.domain_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an authenticated domain
effect: destructive
questions:
- Can I remove a domain authentication I no longer send from?
- What happens if I delete an authenticated domain from my account?
instructions:
- text: Delete authenticated domain {domain_id}.
slots:
domain_id: path.domain_id
- text: Remove domain authentication {domain_id} from my account.
slots:
domain_id: path.domain_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an authenticated domain's settings
effect: write
questions:
- Can I make an existing authenticated domain my default sending domain?
- Is it possible to switch custom SPF on for a domain I already authenticated?
instructions:
- text: 'Make authenticated domain {domain_id} my default: {default}.'
slots:
domain_id: path.domain_id
default: requestBody.default
- text: Set custom SPF to {custom_spf} on authenticated domain {domain_id}.
slots:
custom_spf: requestBody.custom_spf
domain_id: path.domain_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}/subuser'].post
update:
x-apievangelist-phrasing:
intent: Assign an authenticated domain to a subuser
effect: write
questions:
- Can a subuser send mail using a domain the parent account authenticated?
- What's needed to assign one of my authenticated domains to a single subuser?
instructions:
- text: Assign authenticated domain {domain_id} to subuser {username}.
slots:
domain_id: path.domain_id
username: requestBody.username
- text: Let subuser {username} send from parent domain {domain_id}.
slots:
username: requestBody.username
domain_id: path.domain_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}/subuser'].delete
update:
x-apievangelist-phrasing:
intent: Unassign one of a subuser's multiple domains
effect: destructive
questions:
- How do I take one authenticated domain away from a subuser that has several assigned?
- Can I remove a single domain from a subuser who has up to five authenticated domains?
instructions:
- text: Remove authenticated domain {domain_id} from multi-domain subuser {username}.
slots:
domain_id: path.domain_id
username: query.username
- text: Unassign domain {domain_id} from subuser {username}, keeping their other domains.
slots:
domain_id: path.domain_id
username: query.username
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{domain_id}/subuser:add'].post
update:
x-apievangelist-phrasing:
intent: Add a domain to a subuser's up-to-five domains
effect: write
questions:
- Can a subuser have more than one authenticated domain assigned at once?
- What's the limit on authenticated domains I can add to a single subuser?
instructions:
- text: Add authenticated domain {domain_id} to subuser {username} alongside their existing domains.
slots:
domain_id: path.domain_id
username: requestBody.username
- text: Give subuser {username} an additional sending domain {domain_id}.
slots:
username: requestBody.username
domain_id: path.domain_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{id}/ips'].post
update:
x-apievangelist-phrasing:
intent: Add an IP address to an authenticated domain
effect: write
questions:
- Can I attach a dedicated IP address to one of my authenticated domains?
- Which call adds a sending IP to an existing domain authentication?
instructions:
- text: Add IP {ip} to authenticated domain {id}.
slots:
ip: requestBody.ip
id: path.id
- text: Attach sending IP {ip} to domain authentication {id}.
slots:
ip: requestBody.ip
id: path.id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{id}/ips/{ip}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an IP from an authenticated domain
effect: destructive
questions:
- Can I detach an IP address from a domain authentication without deleting the domain?
- How do I stop an IP from being part of an authenticated domain?
instructions:
- text: Remove IP {ip} from authenticated domain {id}.
slots:
ip: path.ip
id: path.id
- text: Detach IP address {ip} from domain authentication {id}.
slots:
ip: path.ip
id: path.id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/{id}/validate'].post
update:
x-apievangelist-phrasing:
intent: Validate a domain authentication's DNS
effect: write
questions:
- My DNS records are in place — can I check whether my authenticated domain now validates?
- Why would a domain authentication fail validation, and can I see the error?
instructions:
- text: Validate authenticated domain {id}.
slots:
id: path.id
- text: Check the DNS for domain authentication {id} and tell me why it fails if it does.
slots:
id: path.id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/default'].get
update:
x-apievangelist-phrasing:
intent: Get the default authenticated domain
effect: read
questions:
- Which authenticated domain is used by default to send all my mail?
- Is there a default domain authentication set for a specific domain name?
instructions:
- text: Show my default authenticated domain.
- text: Get the default domain authentication for {domain}.
slots:
domain: query.domain
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/subuser'].get
update:
x-apievangelist-phrasing:
intent: Get the authenticated domain assigned to a subuser
effect: read
questions:
- What authenticated domain has been assigned to a particular subuser?
- Which parent domain is a given subuser sending mail through?
instructions:
- text: Show the authenticated domain assigned to subuser {username}.
slots:
username: query.username
- text: Find the domain authentication subuser {username} sends with.
slots:
username: query.username
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/subuser'].delete
update:
x-apievangelist-phrasing:
intent: Unassign the authenticated domain from a subuser
effect: destructive
questions:
- Can I stop a subuser from sending with the parent's authenticated domain?
- What happens when I take the single assigned domain away from a subuser?
instructions:
- text: Remove the assigned authenticated domain from subuser {username}.
slots:
username: query.username
- text: Stop subuser {username} from using the parent's authenticated domain.
slots:
username: query.username
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/whitelabel/domains/subuser/all'].get
update:
x-apievangelist-phrasing:
intent: List all authenticated domains assigned to a subuser
effect: read
questions:
- Can I see every authenticated domain, up to five, that a subuser has been given?
- Which domains can a multi-domain subuser choose from when sending?
instructions:
- text: List all authenticated domains assigned to subuser {username}.
slots:
username: query.username
- text: Show every sending domain subuser {username} has, including ones added in bulk.
slots:
username: query.username
method: generated
generated: '2026-09-24'