Skip to main content
curl
curl -X POST https://api.getspine.ai/v1/run \
  -H "X-API-KEY: sk_spine_..." \
  -F "prompt=Summarize this sales data" \
  -F "template=memo" \
  -F "files=@sales-data.csv;type=text/csv"
{
  "success": true,
  "data": {
    "run_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "running",
    "poll_url": "/v1/run/550e8400-e29b-41d4-a716-446655440000",
    "estimated_duration_ms": 900000
  }
}

Try this in the developer playground

Async runs need an API key and typically take 10–20 minutes (up to 2 hours for complex research). Get $5 of free credits on signup — no subscription, $1 = 1,000 credits. The developer playground handles auth, polling, and artifact downloads for you.
webhook_url is reserved for future webhook delivery and is not yet honored.

Authorizations

X-API-KEY
string
header
required

An API key from the Spine developer portal. Keys are prefixed with sk_spine_ and shown only once at creation. Keep them server-side.

Body

multipart/form-data
prompt
string
required

What you want the agents to do.

Example:

"Create a Q1 performance report with charts"

template
enum<string>

Preset block configuration. Ignored when blocks is provided. Defaults to auto.

Available options:
auto,
deep_research,
report,
slides,
memo,
excel,
app,
landing_page
blocks
string

JSON-encoded array of block types to override the template, e.g. ["document-block","table-block","image-block"]. Precedence: blocks > template > auto.

Example:

"[\"document-block\",\"table-block\",\"web-block\"]"

agent_instructions
string

Behavioral guidance applied across all agent layers (tone, rigor, audience, citation requirements, etc.).

Example:

"Write for a C-suite executive audience. Cite all sources."

webhook_url
string<uri>

Reserved for future webhook delivery — not yet honored.

files
file[]

Optional file attachments. Images (PNG, JPEG, GIF, WEBP, SVG) become image-blocks; documents (PDF, DOCX, XLSX, CSV, TXT, MD, YAML, JSON, ZIP) become indexed file-blocks.

Response

Run accepted. Poll poll_url for status and results.

success
boolean
required
data
object
required