Create sheet
Creates a saved sheet at version 1: an annual or quarterly sheet names a company by its CIK, a comparison, custom or spread sheet names a comp; the document is a JSON object of at most 2,000,000 bytes. An optional client-minted id makes a create asked again answer 200 with the sheet that already landed. Needs a Market research subscription and markets:write.
Requires the markets:write scope. Rate limit: 200 requests per minute per key (the api lane).
Authentication
Bearer token. Use ss_live_… for live data or ss_test_… for the sandbox (test mode). See Authentication.
Headers
Idempotency token. Retries that reuse the key within 24h replay the original response. Up to 255 characters; a UUID is typical. See Idempotency.
Pin the API version, e.g. 2026-10-07. Omit to get the latest. See Versioning.
Request
What the sheet is: annual, quarterly, comparison, custom or spread. A spread sheet made here follows no canvas; the canvas’s own sheet route makes the one that does.
The SpreadSheet document, a JSON object of at most 2,000,000 UTF-8 bytes.
Whether this is the company’s original sheet (2026-10-29): needs cik and a kind of annual or quarterly. When the company’s original of that kind already stands, the create answers 200 with that sheet, unchanged, so a SpreadSheet’s first open never makes a second one.
An optional client-minted id, 24 lowercase hexadecimal characters: a create asked again with it answers the sheet that already landed instead of making a second one.
The company’s CIK, one to ten digits, with or without its leading zeros, of a registrant in the store: required on an annual or quarterly sheet, refused on the others.
The id of a comp the caller can see: required on a comparison, custom or spread sheet, refused on an annual or quarterly one.
Response headers
Set to true when the response is replayed from the idempotency cache for a request that re-presented an Idempotency-Key it had already used. Absent on the original (winner) response. A replay repeats the original status and body. When the original could not be stored (an unhandled server fault, or a body over the 1 MiB replay cap) the replay is an error envelope that says so; the operation is never re-run under the same key.
The API surface version the server resolved for this request. Always present, regardless of whether the client supplied the request-side SpreadSpace-Version header. Default: 2026-10-07.
Request budget of the endpoint’s rate-limit policy per 60-second sliding window. See Rate limits.
Requests left in the current window. Suppressed on 429 responses produced outside the rate limiter (for example a usage throttle), where a remaining budget would be misleading.
Seconds until a guaranteed-fresh window.
The active policy in limit;w=window-seconds form.