Skip to main content

Sendgrid full reference

This is the full reference documentation for the Sendgrid agent connector.

Supported entities and actions

The Sendgrid connector supports the following entities and actions.

EntityActions
ContactsList, Get, Search
ListsList, Get, Search
SegmentsList, Get, Search
CampaignsList, Search
SinglesendsList, Get, Search
TemplatesList, Get, Search
Singlesend StatsList, Search
BouncesList, Search
BlocksList, Search
Spam ReportsList
Invalid EmailsList, Search
Global SuppressionsList, Search
Suppression GroupsList, Get, Search
Suppression Group MembersList, Search

Contacts

Contacts List

Returns a sample of contacts. Use the export endpoint for full lists.

Python SDK

await sendgrid.contacts.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "list"
}'
Response Schema

Records

Field NameTypeDescription
idstring
emailnull | string
first_namenull | string
last_namenull | string
unique_namenull | string
alternate_emailsnull | array
address_line_1null | string
address_line_2null | string
citynull | string
state_province_regionnull | string
countrynull | string
postal_codenull | string
phone_numbernull | string
whatsappnull | string
linenull | string
facebooknull | string
list_idsnull | array
segment_idsnull | array
custom_fieldsnull | object
created_atnull | string
updated_atnull | string

Contacts Get

Returns the full details and all fields for the specified contact.

Python SDK

await sendgrid.contacts.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesThe ID of the contact
Response Schema

Records

Field NameTypeDescription
idstring
emailnull | string
first_namenull | string
last_namenull | string
unique_namenull | string
alternate_emailsnull | array
address_line_1null | string
address_line_2null | string
citynull | string
state_province_regionnull | string
countrynull | string
postal_codenull | string
phone_numbernull | string
whatsappnull | string
linenull | string
facebooknull | string
list_idsnull | array
segment_idsnull | array
custom_fieldsnull | object
created_atnull | string
updated_atnull | string

Search and filter contacts records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.contacts.search(
query={"filter": {"eq": {"address_line_1": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "search",
"params": {
"query": {"filter": {"eq": {"address_line_1": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
address_line_1stringAddress line 1
address_line_2stringAddress line 2
alternate_emailsarrayAlternate email addresses
citystringCity
contact_idstringUnique contact identifier used by Airbyte
countrystringCountry
created_atstringWhen the contact was created
custom_fieldsobjectCustom field values
emailstringContact email address
facebookstringFacebook ID
first_namestringContact first name
last_namestringContact last name
linestringLINE ID
list_idsarrayIDs of lists the contact belongs to
phone_numberstringPhone number
postal_codestringPostal code
state_province_regionstringState, province, or region
unique_namestringUnique name for the contact
updated_atstringWhen the contact was last updated
whatsappstringWhatsApp number
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].address_line_1stringAddress line 1
data[].address_line_2stringAddress line 2
data[].alternate_emailsarrayAlternate email addresses
data[].citystringCity
data[].contact_idstringUnique contact identifier used by Airbyte
data[].countrystringCountry
data[].created_atstringWhen the contact was created
data[].custom_fieldsobjectCustom field values
data[].emailstringContact email address
data[].facebookstringFacebook ID
data[].first_namestringContact first name
data[].last_namestringContact last name
data[].linestringLINE ID
data[].list_idsarrayIDs of lists the contact belongs to
data[].phone_numberstringPhone number
data[].postal_codestringPostal code
data[].state_province_regionstringState, province, or region
data[].unique_namestringUnique name for the contact
data[].updated_atstringWhen the contact was last updated
data[].whatsappstringWhatsApp number

Lists

Lists List

Returns all marketing contact lists.

Python SDK

await sendgrid.lists.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page_sizeintegerNoMaximum number of lists to return
Response Schema

Records

Field NameTypeDescription
idstring
namestring
contact_countinteger
_metadatanull | object

Meta

Field NameTypeDescription
nextnull | string

Lists Get

Returns a specific marketing list by ID.

Python SDK

await sendgrid.lists.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesThe ID of the list
Response Schema

Records

Field NameTypeDescription
idstring
namestring
contact_countinteger
_metadatanull | object

Search and filter lists records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.lists.search(
query={"filter": {"eq": {"_metadata": {}}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "lists",
"action": "search",
"params": {
"query": {"filter": {"eq": {"_metadata": {}}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
_metadataobjectMetadata about the list resource
contact_countintegerNumber of contacts in the list
idstringUnique list identifier
namestringName of the list
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[]._metadataobjectMetadata about the list resource
data[].contact_countintegerNumber of contacts in the list
data[].idstringUnique list identifier
data[].namestringName of the list

Segments

Segments List

Returns all segments (v2).

Python SDK

await sendgrid.segments.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "segments",
"action": "list"
}'
Response Schema

Records

Field NameTypeDescription
idstring
namestring
contacts_countinteger
created_atnull | string
updated_atnull | string
sample_updated_atnull | string
next_sample_updatenull | string
parent_list_idsnull | array
query_versionstring
statusnull | object

Segments Get

Returns a specific segment by ID.

Python SDK

await sendgrid.segments.get(
segment_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "segments",
"action": "get",
"params": {
"segment_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
segment_idstringYesThe ID of the segment
Response Schema

Records

Field NameTypeDescription
idstring
namestring
contacts_countinteger
created_atnull | string
updated_atnull | string
sample_updated_atnull | string
next_sample_updatenull | string
parent_list_idsnull | array
query_versionstring
statusnull | object

Search and filter segments records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.segments.search(
query={"filter": {"eq": {"contacts_count": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "segments",
"action": "search",
"params": {
"query": {"filter": {"eq": {"contacts_count": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
contacts_countintegerNumber of contacts in the segment
created_atstringWhen the segment was created
idstringUnique segment identifier
namestringSegment name
next_sample_updatestringWhen the next sample update will occur
parent_list_idsarrayIDs of parent lists
query_versionstringQuery version used
sample_updated_atstringWhen the sample was last updated
statusobjectSegment status details
updated_atstringWhen the segment was last updated
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].contacts_countintegerNumber of contacts in the segment
data[].created_atstringWhen the segment was created
data[].idstringUnique segment identifier
data[].namestringSegment name
data[].next_sample_updatestringWhen the next sample update will occur
data[].parent_list_idsarrayIDs of parent lists
data[].query_versionstringQuery version used
data[].sample_updated_atstringWhen the sample was last updated
data[].statusobjectSegment status details
data[].updated_atstringWhen the segment was last updated

Campaigns

Campaigns List

Returns all marketing campaigns.

Python SDK

await sendgrid.campaigns.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page_sizeintegerNoMaximum number of campaigns to return per page
Response Schema

Records

Field NameTypeDescription
idstring
namestring
statusstring
channelsnull | array
is_abtestboolean
created_atnull | string
updated_atnull | string

Meta

Field NameTypeDescription
nextnull | string

Search and filter campaigns records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.campaigns.search(
query={"filter": {"eq": {"channels": []}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "search",
"params": {
"query": {"filter": {"eq": {"channels": []}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
channelsarrayChannels for this campaign
created_atstringWhen the campaign was created
idstringUnique campaign identifier
is_abtestbooleanWhether this campaign is an A/B test
namestringCampaign name
statusstringCampaign status
updated_atstringWhen the campaign was last updated
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].channelsarrayChannels for this campaign
data[].created_atstringWhen the campaign was created
data[].idstringUnique campaign identifier
data[].is_abtestbooleanWhether this campaign is an A/B test
data[].namestringCampaign name
data[].statusstringCampaign status
data[].updated_atstringWhen the campaign was last updated

Singlesends

Singlesends List

Returns all single sends.

Python SDK

await sendgrid.singlesends.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "singlesends",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page_sizeintegerNoMaximum number of single sends to return per page
Response Schema

Records

Field NameTypeDescription
idstring
namestring
statusstring
categoriesnull | array
send_atnull | string
send_tonull | object
email_confignull | object
is_abtestboolean
created_atstring
updated_atstring

Meta

Field NameTypeDescription
nextnull | string

Singlesends Get

Returns details about one single send.

Python SDK

await sendgrid.singlesends.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "singlesends",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesThe ID of the single send
Response Schema

Records

Field NameTypeDescription
idstring
namestring
statusstring
categoriesnull | array
send_atnull | string
send_tonull | object
email_confignull | object
is_abtestboolean
created_atstring
updated_atstring

Search and filter singlesends records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.singlesends.search(
query={"filter": {"eq": {"categories": []}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "singlesends",
"action": "search",
"params": {
"query": {"filter": {"eq": {"categories": []}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
categoriesarrayCategories associated with this single send
created_atstringWhen the single send was created
idstringUnique single send identifier
is_abtestbooleanWhether this is an A/B test
namestringSingle send name
send_atstringScheduled send time
statusstringCurrent status: draft, scheduled, or triggered
updated_atstringWhen the single send was last updated
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].categoriesarrayCategories associated with this single send
data[].created_atstringWhen the single send was created
data[].idstringUnique single send identifier
data[].is_abtestbooleanWhether this is an A/B test
data[].namestringSingle send name
data[].send_atstringScheduled send time
data[].statusstringCurrent status: draft, scheduled, or triggered
data[].updated_atstringWhen the single send was last updated

Templates

Templates List

Returns paged transactional templates (legacy and dynamic).

Python SDK

await sendgrid.templates.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "templates",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
generationsstringNoTemplate generations to return
page_sizeintegerNoNumber of templates per page
Response Schema

Records

Field NameTypeDescription
idstring
namestring
generationstring
updated_atnull | string
versionsnull | array

Templates Get

Returns a single transactional template.

Python SDK

await sendgrid.templates.get(
template_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "templates",
"action": "get",
"params": {
"template_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
template_idstringYesThe ID of the template
Response Schema

Records

Field NameTypeDescription
idstring
namestring
generationstring
updated_atnull | string
versionsnull | array

Search and filter templates records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.templates.search(
query={"filter": {"eq": {"generation": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "templates",
"action": "search",
"params": {
"query": {"filter": {"eq": {"generation": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
generationstringTemplate generation (legacy or dynamic)
idstringUnique template identifier
namestringTemplate name
updated_atstringWhen the template was last updated
versionsarrayTemplate versions
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].generationstringTemplate generation (legacy or dynamic)
data[].idstringUnique template identifier
data[].namestringTemplate name
data[].updated_atstringWhen the template was last updated
data[].versionsarrayTemplate versions

Singlesend Stats

Singlesend Stats List

Returns stats for all single sends.

Python SDK

await sendgrid.singlesend_stats.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "singlesend_stats",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
page_sizeintegerNoMaximum number of stats to return per page
Response Schema

Records

Field NameTypeDescription
idstring
ab_phasenull | string
ab_variationnull | string
aggregationnull | string
statsnull | object

Meta

Field NameTypeDescription
nextnull | string

Search and filter singlesend stats records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.singlesend_stats.search(
query={"filter": {"eq": {"ab_phase": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "singlesend_stats",
"action": "search",
"params": {
"query": {"filter": {"eq": {"ab_phase": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
ab_phasestringThe A/B test phase
ab_variationstringThe A/B test variation
aggregationstringThe aggregation type
idstringThe single send ID
statsobjectEmail statistics for the single send
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].ab_phasestringThe A/B test phase
data[].ab_variationstringThe A/B test variation
data[].aggregationstringThe aggregation type
data[].idstringThe single send ID
data[].statsobjectEmail statistics for the single send

Bounces

Bounces List

Returns all bounced email records.

Python SDK

await sendgrid.bounces.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "bounces",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring
statusstring

Search and filter bounces records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.bounces.search(
query={"filter": {"eq": {"created": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "bounces",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
createdintegerUnix timestamp when the bounce occurred
emailstringThe email address that bounced
reasonstringThe reason for the bounce
statusstringThe enhanced status code for the bounce
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].createdintegerUnix timestamp when the bounce occurred
data[].emailstringThe email address that bounced
data[].reasonstringThe reason for the bounce
data[].statusstringThe enhanced status code for the bounce

Blocks

Blocks List

Returns all blocked email records.

Python SDK

await sendgrid.blocks.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "blocks",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring
statusstring

Search and filter blocks records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.blocks.search(
query={"filter": {"eq": {"created": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "blocks",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
createdintegerUnix timestamp when the block occurred
emailstringThe blocked email address
reasonstringThe reason for the block
statusstringThe status code for the block
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].createdintegerUnix timestamp when the block occurred
data[].emailstringThe blocked email address
data[].reasonstringThe reason for the block
data[].statusstringThe status code for the block

Spam Reports

Spam Reports List

Returns all spam report records.

Python SDK

await sendgrid.spam_reports.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "spam_reports",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
createdinteger
emailstring
ipstring

Invalid Emails

Invalid Emails List

Returns all invalid email records.

Python SDK

await sendgrid.invalid_emails.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invalid_emails",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring

Search and filter invalid emails records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.invalid_emails.search(
query={"filter": {"eq": {"created": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invalid_emails",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
createdintegerUnix timestamp when the invalid email was recorded
emailstringThe invalid email address
reasonstringThe reason the email is invalid
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].createdintegerUnix timestamp when the invalid email was recorded
data[].emailstringThe invalid email address
data[].reasonstringThe reason the email is invalid

Global Suppressions

Global Suppressions List

Returns all globally unsubscribed email addresses.

Python SDK

await sendgrid.global_suppressions.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "global_suppressions",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
createdinteger
emailstring

Search and filter global suppressions records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.global_suppressions.search(
query={"filter": {"eq": {"created": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "global_suppressions",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
createdintegerUnix timestamp when the global suppression was created
emailstringThe globally suppressed email address
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].createdintegerUnix timestamp when the global suppression was created
data[].emailstringThe globally suppressed email address

Suppression Groups

Suppression Groups List

Returns all suppression (unsubscribe) groups.

Python SDK

await sendgrid.suppression_groups.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "suppression_groups",
"action": "list"
}'
Response Schema

Records

Field NameTypeDescription
idinteger
namestring
descriptionstring
is_defaultboolean
unsubscribesinteger

Suppression Groups Get

Returns information about a single suppression group.

Python SDK

await sendgrid.suppression_groups.get(
group_id=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "suppression_groups",
"action": "get",
"params": {
"group_id": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
group_idintegerYesThe ID of the suppression group
Response Schema

Records

Field NameTypeDescription
idinteger
namestring
descriptionstring
is_defaultboolean
unsubscribesinteger

Search and filter suppression groups records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.suppression_groups.search(
query={"filter": {"eq": {"description": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "suppression_groups",
"action": "search",
"params": {
"query": {"filter": {"eq": {"description": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
descriptionstringDescription of the suppression group
idintegerUnique suppression group identifier
is_defaultbooleanWhether this is the default suppression group
namestringSuppression group name
unsubscribesintegerNumber of unsubscribes in this group
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].descriptionstringDescription of the suppression group
data[].idintegerUnique suppression group identifier
data[].is_defaultbooleanWhether this is the default suppression group
data[].namestringSuppression group name
data[].unsubscribesintegerNumber of unsubscribes in this group

Suppression Group Members

Suppression Group Members List

Returns all suppressions across all groups.

Python SDK

await sendgrid.suppression_group_members.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "suppression_group_members",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
limitintegerNoNumber of records to return
offsetintegerNoNumber of records to skip for pagination
Response Schema

Records

Field NameTypeDescription
emailstring
group_idinteger
group_namestring
created_atinteger

Search and filter suppression group members records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await sendgrid.suppression_group_members.search(
query={"filter": {"eq": {"created_at": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "suppression_group_members",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created_at": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
created_atintegerUnix timestamp when the suppression was created
emailstringThe suppressed email address
group_idintegerID of the suppression group
group_namestringName of the suppression group
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].created_atintegerUnix timestamp when the suppression was created
data[].emailstringThe suppressed email address
data[].group_idintegerID of the suppression group
data[].group_namestringName of the suppression group