---
title: "Start an async job (returns 202 + poll URL)"
method: POST
path: "/api/v1/jobs"
tags: ["jobs"]
---

# Start an async job (returns 202 + poll URL)

`POST /api/v1/jobs`

## Request

- Base URL: `https://mitosislabs.ai`
- URL: `https://mitosislabs.ai/api/v1/jobs`
- Auth: none required

Async-job pattern: POST returns 202 Accepted with a Location header; poll GET /api/v1/jobs/{id} until status is `completed`. Supports Idempotency-Key.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `type` 'site-report', required: Job type

## Response `202`

Job accepted

- Job
  - `id` string, required
  - `type` string, required
  - `status` 'pending' | 'running' | 'completed', required
  - `createdAt` string, date-time, required
  - `location` string, uri
  - `result` object, nullable: Present when status=completed
    - `site` string
    - `plans` integer
    - `skills` integer
    - `generatedAt` string, date-time

## Other responses

- `400`: Malformed request
- `404`: Not found
- `429`: Rate limit exceeded. Retry after X-RateLimit-Reset seconds

---

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