outlook

Integration endpoints used by the Sheetgo add-in for Microsoft Outlook to connect mailbox data to workflows.

Base URL: https://dev-api.sheetgo.com. Start page: https://dev-api.sheetgo.com/rest/reference.md

This page documents every endpoint of the group. Request and response shapes link to model pages; fetch the model pages an endpoint links before building a body.

Guide: Rate Limiting

Every endpoint is rate limited; see the guide Rate Limiting.

POST /rest/beta/outlook/messages/batch

Batch Messages

Resolve a list of message ids to message bodies in one shot.

Missing or cross-owner ids come back as {id, error: "message_not_found"} entries inside values.messages rather than failing the whole call.

Authentication, any one of: default; Developer Access; sheetgo-api-key.

Request body

Content type application/json. Required.

Body: BatchBody

Responses

Read next: BatchBody, HTTPValidationError.

GET /rest/beta/outlook/messages

List Messages

Page through messages in a folder.

folder is a snake-case name (e.g. "inbox") mapped to a well-known mail folder; unknown values return 400. limit is bounded to [1, 100]; a value outside the range returns 400 before any upstream call is made.

Authentication, any one of: default; Developer Access; sheetgo-api-key.

Parameters

Name In Type Required Description Allowed values / default / constraints
folder query string no Well-known mail folder to read, snake_case (for example inbox, sent_items, drafts). An unknown name returns 400. default: "inbox"
limit query integer no Messages per page, 1-100. Outside that range returns 400 before any call to Microsoft is made. default: 25
page_token query string, nullable no Opaque token from a previous response's paging cursor. Omit for the first page.

Responses

Read next: HTTPValidationError.

GET /rest/beta/outlook/messages/{message_id}

Get Message

Fetch one message by id.

include_attachments=true opts the response into the $expand=attachments Graph path; the controller enforces the 25 MB total cap and raises 413 AttachmentsTooLarge if exceeded. For larger attachments, fall back to the per-attachment binary endpoint below.

Authentication, any one of: default; Developer Access; sheetgo-api-key.

Parameters

Name In Type Required Description Allowed values / default / constraints
message_id path string yes Id of the message to fetch.
include_attachments query boolean no Include each attachment's content in the response. Capped at 25 MB in total — a larger message returns 413, so fetch those attachments one at a time instead. default: false

Responses

Read next: HTTPValidationError.

GET /rest/beta/outlook/messages/{message_id}/attachments/{attachment_id}

Get Attachment

Stream a single attachment as its native bytes (NOT base64-wrapped).

Returns application/<original mime> with a Content-Disposition: attachment; filename="..." header. Filenames are escaped for the " delimiter — a malicious upload couldn't smuggle extra header fields via a crafted name.

Authentication, any one of: default; Developer Access; sheetgo-api-key.

Parameters

Name In Type Required Description Allowed values / default / constraints
message_id path string yes Id of the message the attachment belongs to.
attachment_id path string yes Id of the attachment to download.

Responses

Read next: HTTPValidationError.

POST /rest/beta/outlook/send

Send

Send a message through the connected Microsoft account.

Body validation (recipient count, attachment count, attachment total size) runs before this handler; invalid input returns 422 with the field-level reason. An address rejected upstream returns 400.

Defaults: save_to_sent_items=True.

Authentication, any one of: default; Developer Access; sheetgo-api-key.

Request body

Content type application/json. Required.

Body: SendBody

Responses

Read next: HTTPValidationError, SendBody.


More: start page https://dev-api.sheetgo.com/rest/reference.md, everything in one file https://dev-api.sheetgo.com/rest/llms-full.txt, OpenAPI https://dev-api.sheetgo.com/rest/openapi.json.