---
title: "Start a markdown export of the site (asynchronous)"
method: POST
path: "/api/v1/exports"
tags: ["Exports (v1)"]
---

# Start a markdown export of the site (asynchronous)

`POST /api/v1/exports`

## Request

- Base URL: `https://dribba.com`
- URL: `https://dribba.com/api/v1/exports`
- Auth: none required

Accepts the work and answers 202 with a `Location` pointing at the job. Exporting N pages means N loopback fetches and conversions, so it does not fit in one response. Poll the status URL until `status` is `completed`, then read the result. Jobs are instance-scoped and expire after 15 minutes.

## Headers

- `Idempotency-Key` string

## Request body

- ExportRequest
  - `paths` string[]: Site paths to export, as listed in /sitemap.xml. Omit it and the first 50 pages by sitemap priority are used.

## Response `202`

Export accepted; poll the status URL

- ExportJob
  - `id` string, required
  - `status` 'accepted' | 'running' | 'completed' | 'failed', required
  - `created_at` string, date-time
  - `finished_at` string, date-time, nullable
  - `progress` object, required
    - `done` integer, required
    - `total` integer, required
  - `status_url` string, uri, required
  - `result_url` string, uri, nullable
  - `error` string, nullable
  - `expires_at` string, date-time
  - `instance_scoped` boolean
  - `note` string
  - `requested_pages` integer
  - `unknown_paths` string[]

## Other responses

- `400`: Too many paths, or none of them exist
- `415`: Body was not sent as application/json
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

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