SendGrid · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Sendgrid Custom Fields API
10 actions
10 updates
phrasing
extends
openapi/sendgrid-custom-fields-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 10
$.info
$.paths['/v3/contactdb/custom_fields'].get
$.paths['/v3/contactdb/custom_fields'].post
$.paths['/v3/contactdb/custom_fields/{custom_field_id}'].get
$.paths['/v3/contactdb/custom_fields/{custom_field_id}'].delete
$.paths['/v3/contactdb/reserved_fields'].get
$.paths['/v3/marketing/field_definitions'].get
$.paths['/v3/marketing/field_definitions'].post
$.paths['/v3/marketing/field_definitions/{custom_field_id}'].delete
$.paths['/v3/marketing/field_definitions/{custom_field_id}'].patch
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 Sendgrid Custom Fields API
version: 1.0.0
extends: openapi/sendgrid-custom-fields-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: 9
- target: $.paths['/v3/contactdb/custom_fields'].get
update:
x-apievangelist-phrasing:
intent: List legacy custom fields
effect: read
questions:
- What custom fields exist in my legacy contacts database?
- Can I see all of my old contactdb custom fields?
instructions:
- text: List all custom fields in the legacy contactdb.
- text: Show every legacy recipient custom field.
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/contactdb/custom_fields'].post
update:
x-apievangelist-phrasing:
intent: Create a legacy custom field
effect: write
questions:
- How many custom fields can I create in the legacy contacts database?
- Can I set a type such as date or number on a legacy custom field?
instructions:
- text: Create a legacy custom field named {name} of type {type}.
slots:
name: requestBody.name
type: requestBody.type
- text: Add a contactdb custom field called {name}.
slots:
name: requestBody.name
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/contactdb/custom_fields/{custom_field_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a legacy custom field
effect: read
questions:
- How do I look up one legacy custom field by its ID?
- What type is a particular contactdb custom field?
instructions:
- text: Get legacy custom field {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
- text: Show contactdb custom field {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/contactdb/custom_fields/{custom_field_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a legacy custom field
effect: destructive
questions:
- Can I delete a custom field from the legacy contacts database?
- Which call removes an old contactdb custom field by ID?
instructions:
- text: Delete legacy custom field {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
- text: Remove contactdb custom field {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/contactdb/reserved_fields'].get
update:
x-apievangelist-phrasing:
intent: List reserved legacy field names
effect: read
questions:
- Which field names are reserved and can't be used for custom fields?
- Why was my custom field name rejected as reserved?
instructions:
- text: List the reserved field names in the legacy contactdb.
- text: Show me which names I cannot use for a custom field.
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/marketing/field_definitions'].get
update:
x-apievangelist-phrasing:
intent: List Marketing Campaigns field definitions
effect: read
questions:
- What custom and reserved fields are defined for my marketing contacts?
- Can I get every field definition in Marketing Campaigns in one call?
instructions:
- text: List all marketing field definitions, custom and reserved.
- text: Show the contact field definitions for Marketing Campaigns.
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/marketing/field_definitions'].post
update:
x-apievangelist-phrasing:
intent: Create a marketing custom field definition
effect: write
questions:
- How do I add a new custom field for my marketing contacts?
- Are marketing custom field names case-insensitively unique?
instructions:
- text: Create a marketing custom field {name} of type {field_type}.
slots:
name: requestBody.name
field_type: requestBody.field_type
- text: Define a new contact field named {name} with field type {field_type}.
slots:
name: requestBody.name
field_type: requestBody.field_type
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/marketing/field_definitions/{custom_field_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a marketing custom field definition
effect: destructive
questions:
- Can reserved fields be deleted, or only my custom ones?
- How do I delete a custom field definition from Marketing Campaigns?
instructions:
- text: Delete marketing custom field definition {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
- text: Remove the marketing contact field {custom_field_id}.
slots:
custom_field_id: path.custom_field_id
method: generated
generated: '2026-09-24'
- target: $.paths['/v3/marketing/field_definitions/{custom_field_id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename a marketing custom field
effect: write
questions:
- Can I rename a custom field I defined for marketing contacts?
- Is it possible to update a reserved field definition?
instructions:
- text: Rename marketing custom field {custom_field_id} to {name}.
slots:
custom_field_id: path.custom_field_id
name: requestBody.name
- text: Change the name of field definition {custom_field_id} to {name}.
slots:
custom_field_id: path.custom_field_id
name: requestBody.name
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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/sendgrid-custom-fields-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.