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, Context Store Search, Context Store SQL Query
ListsList, Get, Context Store Search, Context Store SQL Query
SegmentsList, Get, Context Store Search, Context Store SQL Query
CampaignsList, Context Store Search, Context Store SQL Query
SinglesendsList, Get, Context Store Search, Context Store SQL Query
TemplatesList, Get, Context Store Search, Context Store SQL Query
Singlesend StatsList, Context Store Search, Context Store SQL Query
BouncesList, Context Store Search, Context Store SQL Query
BlocksList, Context Store Search, Context Store SQL Query
Spam ReportsList
Invalid EmailsList, Context Store Search, Context Store SQL Query
Global SuppressionsList, Context Store Search, Context Store SQL Query
Suppression GroupsList, Get, Context Store Search, Context Store SQL Query
Suppression Group MembersList, Context Store Search, Context Store SQL Query

Contacts​

Contacts List​

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

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "contacts",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextnull | string
contact_countinteger

Contacts Get​

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

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"address_line_1": "<str>"
}
}
}
}
}'

Python SDK​

await sendgrid.contacts.context_store_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": "context_store_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, startswith, endswith, contains, array_contains, 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

Contacts Context Store SQL Query​

Run a SQL query against contacts records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "contacts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.contacts.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Lists​

Lists List​

Returns all marketing contact lists.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "lists",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "lists",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "lists",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"_metadata": {}
}
}
}
}
}'

Python SDK​

await sendgrid.lists.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"_metadata": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Lists Context Store SQL Query​

Run a SQL query against lists records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "lists",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.lists.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Segments​

Segments List​

Returns all segments (v2).

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "segments",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "segments",
"action": "get",
"params": {
"segment_id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "segments",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"contacts_count": 0
}
}
}
}
}'

Python SDK​

await sendgrid.segments.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"contacts_count": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Segments Context Store SQL Query​

Run a SQL query against segments records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "segments",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.segments.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Campaigns​

Campaigns List​

Returns all marketing campaigns.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "campaigns",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "campaigns",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"channels": []
}
}
}
}
}'

Python SDK​

await sendgrid.campaigns.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"channels": []}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Campaigns Context Store SQL Query​

Run a SQL query against campaigns records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "campaigns",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.campaigns.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Singlesends​

Singlesends List​

Returns all single sends.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesends",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesends",
"action": "get",
"params": {
"id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesends",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"categories": []
}
}
}
}
}'

Python SDK​

await sendgrid.singlesends.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"categories": []}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Singlesends Context Store SQL Query​

Run a SQL query against singlesends records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesends",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.singlesends.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Templates​

Templates List​

Returns paged transactional templates (legacy and dynamic).

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "templates",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextnull | string

Templates Get​

Returns a single transactional template.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "templates",
"action": "get",
"params": {
"template_id": "<str>"
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "templates",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"generation": "<str>"
}
}
}
}
}'

Python SDK​

await sendgrid.templates.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"generation": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Templates Context Store SQL Query​

Run a SQL query against templates records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "templates",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.templates.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Singlesend Stats​

Singlesend Stats List​

Returns stats for all single sends.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesend_stats",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesend_stats",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"ab_phase": "<str>"
}
}
}
}
}'

Python SDK​

await sendgrid.singlesend_stats.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"ab_phase": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Singlesend Stats Context Store SQL Query​

Run a SQL query against singlesend stats records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "singlesend_stats",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.singlesend_stats.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Bounces​

Bounces List​

Returns all bounced email records.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "bounces",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "bounces",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"created": 0
}
}
}
}
}'

Python SDK​

await sendgrid.bounces.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Bounces Context Store SQL Query​

Run a SQL query against bounces records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "bounces",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.bounces.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Blocks​

Blocks List​

Returns all blocked email records.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "blocks",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "blocks",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"created": 0
}
}
}
}
}'

Python SDK​

await sendgrid.blocks.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Blocks Context Store SQL Query​

Run a SQL query against blocks records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "blocks",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.blocks.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Spam Reports​

Spam Reports List​

Returns all spam report records.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "spam_reports",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

Invalid Emails​

Invalid Emails List​

Returns all invalid email records.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "invalid_emails",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "invalid_emails",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"created": 0
}
}
}
}
}'

Python SDK​

await sendgrid.invalid_emails.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Invalid Emails Context Store SQL Query​

Run a SQL query against invalid emails records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "invalid_emails",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.invalid_emails.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Global Suppressions​

Global Suppressions List​

Returns all globally unsubscribed email addresses.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "global_suppressions",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "global_suppressions",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"created": 0
}
}
}
}
}'

Python SDK​

await sendgrid.global_suppressions.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"created": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Global Suppressions Context Store SQL Query​

Run a SQL query against global suppressions records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "global_suppressions",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.global_suppressions.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Suppression Groups​

Suppression Groups List​

Returns all suppression (unsubscribe) groups.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_groups",
"action": "list"
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_groups",
"action": "get",
"params": {
"group_id": 0
}
}'

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_groups",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"description": "<str>"
}
}
}
}
}'

Python SDK​

await sendgrid.suppression_groups.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"description": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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 Groups Context Store SQL Query​

Run a SQL query against suppression groups records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_groups",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.suppression_groups.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Suppression Group Members​

Suppression Group Members List​

Returns all suppressions across all groups.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_group_members",
"action": "list"
}'

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

Meta​

Field NameTypeDescription
nextstring

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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_group_members",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"created_at": 0
}
}
}
}
}'

Python SDK​

await sendgrid.suppression_group_members.context_store_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": "context_store_search",
"params": {
"query": {"filter": {"eq": {"created_at": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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

Suppression Group Members Context Store SQL Query​

Run a SQL query against suppression group members records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "sendgrid",
"entity": "suppression_group_members",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await sendgrid.suppression_group_members.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds