API as a destination turns a workflow's output into a live, read-only JSON feed at a private URL. Each workflow run refreshes the data; consumers fetch it on demand with an API key, with pagination, sorting and conditional (ETag) requests.
Use these endpoints to read the published data (GET) or inspect its metadata without downloading it (HEAD).
filteris reserved and does not work yet. TheGETendpoint accepts afilterquery parameter, but it is a placeholder for a future version: the value is ignored and the full, unfiltered dataset is returned, with no error and no warning. It exists so a future filter-aware client can call today's server without failing outright. Until filtering ships, narrow the data in the automation itself or filter client-side — never rely onfilterto scope what a caller receives.
Base URL: https://dev-api.sheetgo.com. Paths are complete, version included (/rest/beta/...): append them to the base URL exactly as shown. 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.
Read data from an API-as-Destination endpoint
Reads the rows a workflow published through its api destination. Each workflow run refreshes the data; this endpoint serves whatever the last run produced.
Supports pagination (page, page_size), sorting (order_by, direction), a single-tab filter (tab) and two output shapes (format). Responses carry ETag and Last-Modified, so a conditional request with If-None-Match gets a 304 and no body — use it when polling.
Before the workflow's first run the endpoint exists but has no data, and answers 200 with an empty result rather than a 404.
Requires an API key with both the automations and api-destination scopes.
Authentication, any one of: default; Developer Access; sheetgo-api-key.
Parameters
| Name | In | Type | Required | Description | Allowed values / default / constraints |
|---|---|---|---|---|---|
public_id |
path | string | yes | The destination's public identifier, returned when the automation's api destination was created. It is stable across updates to the automation. |
|
format |
query | string | no | Response format: 'dict' or 'array' | default: "dict" |
page |
query | integer | no | Page number (1-based) | default: 1; min: 1 |
page_size |
query | integer | no | Rows per page (1–1000; > 1000 is clamped to 1000) | default: 100 |
order_by |
query | string, nullable | no | Column name to sort by | |
direction |
query | string | no | Sort direction | one of: "asc", "desc"; default: "asc" |
filter |
query | string, nullable | no | Reserved for a future version — NOT IMPLEMENTED today. The parameter is accepted so that a future filter-aware client can call this endpoint without a hard failure, but it has no effect: the value is ignored and the full, unfiltered dataset is returned. Do not use it to scope a response — filter client-side, or narrow the data in the automation itself. This description will change when filtering ships. | |
tab |
query | string, nullable | no | Return only this source tab (by name); omit for all tabs |
Responses
200 Data served (or empty-state pre-publish)404 Destination missing / deleted / unbound304 Not modified — ETag or Last-Modified matched400 Invalid query params401 Auth failed500 Internal error422 Validation Error. Schema: HTTPValidationErrorRead next: HTTPValidationError.
Inspect API-as-Destination metadata without downloading data
Same as the GET, but returns headers only — use it to check whether the data changed before paying for the body.
Carries the same ETag and Last-Modified as the GET, plus X-Sheetgo-* headers describing the row count and columns.
Authentication, any one of: default; Developer Access; sheetgo-api-key.
Parameters
| Name | In | Type | Required | Description | Allowed values / default / constraints |
|---|---|---|---|---|---|
public_id |
path | string | yes | The destination's public identifier, returned when the automation's api destination was created. It is stable across updates to the automation. |
Responses
200 Headers populated (or empty-state if pre-publish)404 Destination missing / deleted / unbound401 Auth failed500 Internal error422 Validation Error. Schema: HTTPValidationErrorRead next: HTTPValidationError.
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.