SheetgoDevelopers

Developers › REST API › Forms & Integrations

REST API · 1 endpoint

gmail

Complete for this group. Each operation below lists its parameters, request body, responses and errors. Every model they use is documented under Models used on this page, so you do not need another page to build a request. Base URL https://dev-api.sheetgo.com; send Authorization: Bearer sg_…. Latest version: https://dev-api.sheetgo.com/rest/reference/gmail (Markdown).

Conventions for every endpoint. Lists take page (from 1) and per_page (1-100, default 50), and total counts pages, not items. Collection URLs end with /. POST …/run returns 200 when the run is queued; poll GET …/run. Google Sheets use provider: "drive"; column fields take letters ("E"). Error bodies and status codes: api.html#api-errors.

Python recipes. API client helper.

Send email through a connected Google account.

Mirrors the Outlook send contract. Gmail always stores sent mail in SENT, so there is no save_to_sent_items option. Read endpoints (list/get/attachments) are not available: Sheetgo's Google grant carries only the gmail.send scope.

Operations

POST/rest/beta/gmail/sendSend

Send a message through the connected Google account.

Gmail always stores the sent message in SENT — there is no save_to_sent_items equivalent. Total attachment bytes are capped at 3 MB and recipients at 50, matching the Outlook contract.

Request body (required)

application/json · GmailSendBody

FieldTypeDescription
attachmentsarray of AttachmentInoptionalFiles to attach: at most 10, totalling no more than 3 MB once decoded.
Default: []
bccarray of stringoptionalBlind-carbon-copy recipients, hidden from other recipients.
Default: []
bodyBodyContentrequiredThe message body and whether it is plain text or HTML.
ccarray of stringoptionalCarbon-copy recipients, visible to everyone.
Default: []
subjectstringoptionalSubject line. Optional; defaults to an empty subject.
Default: ""
toarray of stringrequiredPrimary recipients. At least one is required; to, cc and bcc together may not exceed 50 addresses.
Min items: 1
Responses
StatusMeaningBody
202Successful Responseany
401Auth failed—
422Validation ErrorHTTPValidationError
Example request
curl -s -X POST "https://dev-api.sheetgo.com/rest/beta/gmail/send" \
  -H "Authorization: Bearer $SHEETGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d @body.json

Models used on this page

Every request and response model referenced above, including nested ones (5). The full catalogue is on api-models.html.

AttachmentIn

FieldTypeDescription
content_base64stringrequiredThe file's bytes, base64-encoded. All attachments on one message must total no more than 3 MB decoded.
content_typestringrequiredMIME type of the attachment, e.g. application/pdf.
filenamestringrequiredFile name the recipient will see, including the extension.

BodyContent

FieldTypeDescription
contentstringrequiredThe message body itself, in the format named by content_type.
content_typeone of "text", "html"optionalHow content should be interpreted: text for plain text, html for an HTML body.
Default: "text"

GmailSendBody

One message to send through the authorized Gmail account.

Gmail always stores a sent message in SENT, so there is no equivalent of Outlook's save_to_sent_items.

FieldTypeDescription
attachmentsarray of AttachmentInoptionalFiles to attach: at most 10, totalling no more than 3 MB once decoded.
Default: []
bccarray of stringoptionalBlind-carbon-copy recipients, hidden from other recipients.
Default: []
bodyBodyContentrequiredThe message body and whether it is plain text or HTML.
ccarray of stringoptionalCarbon-copy recipients, visible to everyone.
Default: []
subjectstringoptionalSubject line. Optional; defaults to an empty subject.
Default: ""
toarray of stringrequiredPrimary recipients. At least one is required; to, cc and bcc together may not exceed 50 addresses.
Min items: 1

Used by: POST /rest/beta/gmail/send

HTTPValidationError

FieldTypeDescription
detailarray of ValidationErroroptional

Used by: GET /rest/beta/workflows/, POST /rest/beta/workflows/, POST /rest/beta/workflows/run/{id}, GET /rest/beta/workflows/{id}, PATCH /rest/beta/workflows/{id}, DELETE /rest/beta/workflows/{id}, GET /rest/beta/workflows/{id}/collaborators, POST /rest/beta/workflows/{id}/collaborators, DELETE /rest/beta/workflows/{id}/collaborators, PATCH /rest/beta/workflows/{id}/collaborators/{email}, DELETE /rest/beta/workflows/{id}/collaborators/{email}, GET /rest/beta/workflows/{id}/destinations, GET /rest/beta/workflows/{id}/files, GET /rest/beta/workflows/{id}/general-access, PUT /rest/beta/workflows/{id}/general-access, DELETE /rest/beta/workflows/{id}/general-access, POST /rest/beta/workflows/{id}/leave, POST /rest/beta/workflows/{id}/request-access, GET /rest/beta/workflows/{id}/run, POST /rest/beta/workflows/{id}/run, GET /rest/beta/workflows/{id}/sources, GET /rest/beta/automations/, POST /rest/beta/automations/run/{id}, GET /rest/beta/automations/{id}, DELETE /rest/beta/automations/{id}, GET /rest/beta/automations/{id}/destinations, GET /rest/beta/automations/{id}/files, GET /rest/beta/automations/{id}/run, POST /rest/beta/automations/{id}/run, GET /rest/beta/automations/{id}/sources, GET /rest/beta/workflows/{id}/trigger, DELETE /rest/beta/workflows/{id}/trigger, GET /rest/beta/workflows/{id}/dashboard, DELETE /rest/beta/workflows/{id}/dashboard/elements/{element_id}, GET /rest/beta/workflows/{id}/dashboard/elements/{element_id}/data, PUT /rest/beta/workflows/{id}/dashboard/publish, GET /rest/beta/workflows/{workflow_id}/forms/, POST /rest/beta/workflows/{workflow_id}/forms/, GET /rest/beta/workflows/{workflow_id}/forms/{form_id}, PATCH /rest/beta/workflows/{workflow_id}/forms/{form_id}, DELETE /rest/beta/workflows/{workflow_id}/forms/{form_id}, GET /rest/beta/workflows/{workflow_id}/forms/{form_id}/responses, HEAD /rest/beta/workflows/{workflow_id}/forms/{form_id}/responses, GET /rest/beta/automations/{automation_id}/webhook, GET /rest/beta/workflows/{workflow_id}/webhooks, GET /rest/beta/api-destination/{public_id}, HEAD /rest/beta/api-destination/{public_id}, GET /rest/beta/integrations/{provider}/options, GET /rest/beta/outlook/messages, POST /rest/beta/outlook/messages/batch, GET /rest/beta/outlook/messages/{message_id}, GET /rest/beta/outlook/messages/{message_id}/attachments/{attachment_id}, POST /rest/beta/outlook/send, POST /rest/beta/gmail/send, GET /rest/beta/files/{provider}, GET /rest/beta/files/{provider}/roots, GET /rest/beta/files/{provider}/search, GET /rest/beta/files/{provider}/{file_id}, GET /rest/beta/bigquery/projects, GET /rest/beta/bigquery/projects/{project}/datasets, GET /rest/beta/bigquery/projects/{project}/datasets/{dataset}/tables, GET /rest/beta/bigquery/projects/{project}/datasets/{dataset}/tables/{table}, POST /rest/beta/bigquery/projects/{project}/validate-query, POST /rest/auth/refresh, POST /rest/auth/token

ValidationError

FieldTypeDescription
locarray of string or integerrequired
msgstringrequired
typestringrequired