Back to Airbyte

Sendgrid full reference

docs/ai-agents/connectors/sendgrid/REFERENCE.md

2.0.055.7 KB
Original Source

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

python
await sendgrid.contacts.list()

API

bash
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"
}'
<details> <summary><b>Response Schema</b></summary>

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
</details>

Contacts Get

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

Python SDK

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>

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
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Lists

Lists List

Returns all marketing contact lists.

Python SDK

python
await sendgrid.lists.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idstring
namestring
contact_countinteger
_metadatanull | object

Meta

Field NameTypeDescription
nextnull | string
</details>

Lists Get

Returns a specific marketing list by ID.

Python SDK

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idstring
namestring
contact_countinteger
_metadatanull | object
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Segments

Segments List

Returns all segments (v2).

Python SDK

python
await sendgrid.segments.list()

API

bash
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"
}'
<details> <summary><b>Response Schema</b></summary>

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
</details>

Segments Get

Returns a specific segment by ID.

Python SDK

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>

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
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Campaigns

Campaigns List

Returns all marketing campaigns.

Python SDK

python
await sendgrid.campaigns.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

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

Meta

Field NameTypeDescription
nextnull | string
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Singlesends

Singlesends List

Returns all single sends.

Python SDK

python
await sendgrid.singlesends.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

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
</details>

Singlesends Get

Returns details about one single send.

Python SDK

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

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

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Templates

Templates List

Returns paged transactional templates (legacy and dynamic).

Python SDK

python
await sendgrid.templates.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idstring
namestring
generationstring
updated_atnull | string
versionsnull | array
</details>

Templates Get

Returns a single transactional template.

Python SDK

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idstring
namestring
generationstring
updated_atnull | string
versionsnull | array
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Singlesend Stats

Singlesend Stats List

Returns stats for all single sends.

Python SDK

python
await sendgrid.singlesend_stats.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

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

Meta

Field NameTypeDescription
nextnull | string
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Bounces

Bounces List

Returns all bounced email records.

Python SDK

python
await sendgrid.bounces.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring
statusstring
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Blocks

Blocks List

Returns all blocked email records.

Python SDK

python
await sendgrid.blocks.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring
statusstring
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Spam Reports

Spam Reports List

Returns all spam report records.

Python SDK

python
await sendgrid.spam_reports.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
createdinteger
emailstring
ipstring
</details>

Invalid Emails

Invalid Emails List

Returns all invalid email records.

Python SDK

python
await sendgrid.invalid_emails.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
createdinteger
emailstring
reasonstring
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Global Suppressions

Global Suppressions List

Returns all globally unsubscribed email addresses.

Python SDK

python
await sendgrid.global_suppressions.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
createdinteger
emailstring
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Suppression Groups

Suppression Groups List

Returns all suppression (unsubscribe) groups.

Python SDK

python
await sendgrid.suppression_groups.list()

API

bash
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"
}'
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idinteger
namestring
descriptionstring
is_defaultboolean
unsubscribesinteger
</details>

Suppression Groups Get

Returns information about a single suppression group.

Python SDK

python
await sendgrid.suppression_groups.get(
    group_id=0
)

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
idinteger
namestring
descriptionstring
is_defaultboolean
unsubscribesinteger
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>

Suppression Group Members

Suppression Group Members List

Returns all suppressions across all groups.

Python SDK

python
await sendgrid.suppression_group_members.list()

API

bash
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
<details> <summary><b>Response Schema</b></summary>

Records

Field NameTypeDescription
emailstring
group_idinteger
group_namestring
created_atinteger
</details>

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

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

API

bash
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
<details> <summary><b>Response Schema</b></summary>
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
</details>