---
title: "Run a long operation as an async job (202 + poll)"
method: POST
path: "/api/v1/jobs"
tags: ["Jobs"]
---

# Run a long operation as an async job (202 + poll)

`POST /api/v1/jobs`

## Request

- Base URL: `https://www.snowsure.ai`
- URL: `https://www.snowsure.ai/api/v1/jobs`
- Auth: none declared

For operations that may outlive an agent's HTTP timeout (the answer engine can take ~40s). Returns 202 Accepted with a job_id and status_url (also in the Location header); poll GET /api/v1/jobs/{id} until status is done or failed. Results are kept 1 hour. Auth semantics match the wrapped endpoint (pass the same partnerId / X-API-Key).

## Request body

- object
  - `type` 'ask', required: Job type; currently the answer engine (POST /api/v1/ask)
  - `payload` object, required: Body forwarded to POST /api/v1/ask

## Response `202`

Job accepted; poll status_url (also in Location header)

- object
  - `job_id` string, uuid
  - `status` 'pending'
  - `status_url` string, uri

## Other responses

- `400`: Unsupported type or invalid payload
- `503`: Job store unavailable — call the endpoint synchronously instead

---

[API](https://skmtc.dev/snowsure/apis/snowsure-api.md) · [All operations](https://skmtc.dev/snowsure/apis/snowsure-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snowsure/apis/snowsure-api/revisions/dcbcdbb3df50?raw)
