Spreadsheets

Submit Idempotent Spreadsheet Processing Job

Changed on

Submit or replay a spreadsheet job. Idempotency-Key is required.

post/api/spreadsheets/idempotent

Request

  • Base URL
    https://api.shortcut.ai (the document declares no server; this is the origin it was published from)
  • Auth
    • HTTP bearer
    • or HTTP bearer
    • or API key in cookie shortcut_access_token
    • or HTTP bearer

Request body

promptstring required

Natural language task description

initFilestring uuid

Optional File ID for initial Excel file

apply'review' | 'auto' | 'none'

What to do with the result of a workbook run. "none" (default) only makes the result downloadable. "review" stores the baseline, result and a manifest in the review folder so the changes can be reviewed and merged. "auto" overwrites the workspace workbook if it is unchanged since the baseline and its filename extension matches the result format; otherwise it falls back to "review" and reports a warning in apply.warnings. For XLSM inputs, unavailable macro-format repair (including restricted storage egress) can therefore produce review artifacts instead of an automatic overwrite.

reviewPathstring

Workspace-relative folder for review artifacts (baseline/result workbooks with format-dependent extensions, and review.json). Defaults to "platform-api/runs/<runId>". Only meaningful with apply "review" or "auto".

automationRunIdstring uuid

Attribute this run to an automation run, so history and credits roll up to it.

contextFilesstring[]

Optional context file IDs: at most one .xls/.xlsx context workbook, in addition to an optional initial workbook. All attachment filenames must be unique, ignoring case.

webhookUrlstring uri

Optional URL to receive a POST callback when the job completes or fails. Requests are signed with your API key's webhook secret (see /verify) via X-Shortcut-Signature: sha256=<hmac-sha256>. Delivery is at least once with retries; deduplicate on the eventId body field (also X-Shortcut-Event-Id).

originatingMode'plan'
sourceThreadIdstring

The conversation a Continue in Cloud handoff came from, so the same user can find its run from another device (GET /api/spreadsheets?sourceThreadId=).

mode'action' | 'ask'

Agent mode: "action" (default) reads and writes the spreadsheet, "ask" performs read-only analysis and review without modifying the spreadsheet

modelstring

Optional ShortcutXL model id or model pattern for this job. Use GET /api/spreadsheets/models for the standard catalog and actual submission default.

speed'standard' | 'fast' | 'ultrafast'

Response speed; Fast and Ultrafast require an exact supported Shortcut model ID and Fast mode access. Ultrafast requires GPT-6 Astra and uses more credits

thinking'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'

Optional ShortcutXL thinking/effort level for this job

runtimeModelOverlayobject

Versioned ShortcutXL runtime model overlay, carried opaquely to the runtime

preferCurrentModelForSubagentsboolean
subagentModelstring
workReferenceIdstring uuid

Organization work reference for usage reporting. Independent of project file access.

workflowCategorystring

Explicit workflow category for usage reporting, such as Tax or Working papers.

projectIdstring uuid

Optional Project ID whose source files are mounted read-only at /project. The writable /workspace mount remains the run-scoped file workspace.

skillsstring[]

Optional source-qualified skill IDs to apply to this job. Use GET /api/spreadsheets/skills and submit returned id values such as default:commit, personal:my-skill, or team:{teamId}:team-skill. Submit-time validation checks id shape and team authorization, but does not perform a GCS existence check. Passing one skill is recommended — combining multiple skills may produce unpredictable results.

skillCatalogboolean

Optional. When true, the run's agent sees every skill you can see in Shortcut (default, personal, and team skills, as listed by GET /api/spreadsheets/skills) as a catalog of names and descriptions, and reads a skill's instructions only if it decides to use one. The list is resolved when the run is dispatched, not at submit time, and grants no access beyond the skills the run can already read. It does not select or apply any skill; use skills to select one. Omitted or false keeps the default: only skills and built-in skills are available.

retainConversationboolean

Optional. Save this run's agent conversation as one of your Shortcut conversations so it can be reopened from chat history. When the run completes, its status includes conversation: an available locator or unavailable. Omitted runs keep the default unsaved session.

Response

Default Response

runIdstring required

Unique run identifier

status'queued' | 'running' | 'finalizing' | 'completed' | 'failed' | 'cancelled' required

Job status: "queued" or "running" for a new run; the current status when an Idempotency-Key replays an existing run

automationRunIdstring uuid

The automation run this run is attributed to, when one was supplied

idempotentReplaytrue

Present when the Idempotency-Key matched an existing run: no new run was created and nothing was charged. The response also carries an Idempotent-Replayed: true header.

idempotencyWarningstring

Present on a replay when the request body differs from the one that created the run. The original run is still returned.

Changes

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property