Exports
Asynchronous exports of a notebook or a whole workspace as a ZIP of Markdown files.
The export object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier, prefixed with ex_. |
scope required | string | notebook or workspace. |
format | string | markdown or json. |
status | string | queued, running, ready or failed. |
download_url | string|null | Signed URL once ready. |
created_at | timestamp | Creation time, RFC 3339 in UTC. |
Example
{
"id": "ex_8f3k2Q9xLm",
"scope": "workspace",
"format": "markdown",
"status": "ready",
"download_url": null,
"created_at": "2026-09-14T08:21:07Z"
}GET /exports
List exports. Returns a paginated list of exports.
Query parameters
| Field | Type | Description |
|---|---|---|
limit | integer | Page size, 1–100. Default 25. |
cursor | string | Cursor from the previous page. |
sort | string | Field to sort by, prefix - for descending. |
filter | string | Filter expression, see Filtering and sorting. |
Request
curl -X GET "https://api.axnode.net/v2/exports" \
-H "Authorization: Bearer $AXSYNC_TOKEN"const res = await fetch('https://api.axnode.net/v2/exports', {
method: 'GET',
headers: { Authorization: `Bearer ${token}` }
});
const data = await res.json();import requests
res = requests.get(
'https://api.axnode.net/v2/exports',
headers={'Authorization': f'Bearer {token}'},
)
data = res.json()Response 200
{
"data": [
{
"id": "ex_8f3k2Q9xLm",
"scope": "workspace",
"format": "markdown",
"status": "ready",
"download_url": null,
"created_at": "2026-09-14T08:21:07Z"
}
],
"has_more": false,
"next_cursor": null
}POST /exports
Create an export. Creates an export.
Body parameters
| Field | Type | Description |
|---|---|---|
scope required | string | notebook or workspace. |
format | string | markdown or json. |
status | string | queued, running, ready or failed. |
download_url | string|null | Signed URL once ready. |
Request
curl -X POST "https://api.axnode.net/v2/exports" \
-H "Authorization: Bearer $AXSYNC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"scope": "workspace"}'const res = await fetch('https://api.axnode.net/v2/exports', {
method: 'POST',
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
body: JSON.stringify({"scope": "workspace"})
});
const data = await res.json();import requests
res = requests.post(
'https://api.axnode.net/v2/exports',
headers={'Authorization': f'Bearer {token}'}, json={"scope": "workspace"},
)
data = res.json()Response 201
{
"id": "ex_8f3k2Q9xLm",
"scope": "workspace",
"format": "markdown",
"status": "ready",
"download_url": null,
"created_at": "2026-09-14T08:21:07Z"
}GET /exports/{id}
Retrieve an export. Retrieves an export by its identifier.
Request
curl -X GET "https://api.axnode.net/v2/exports/ex_8f3k2Q9xLm" \
-H "Authorization: Bearer $AXSYNC_TOKEN"const res = await fetch('https://api.axnode.net/v2/exports/ex_8f3k2Q9xLm', {
method: 'GET',
headers: { Authorization: `Bearer ${token}` }
});
const data = await res.json();import requests
res = requests.get(
'https://api.axnode.net/v2/exports/ex_8f3k2Q9xLm',
headers={'Authorization': f'Bearer {token}'},
)
data = res.json()Response 200
{
"id": "ex_8f3k2Q9xLm",
"scope": "workspace",
"format": "markdown",
"status": "ready",
"download_url": null,
"created_at": "2026-09-14T08:21:07Z"
}