Action API
GET/bundles/{spaceId}/export/zipAPI v2

Zip

2 min readBundles

GET /bundles/{spaceId}/export/zip

Export a space as a ZIP bundle. Returns raw binary with appropriate headers.

Base URL: https://www.taskade.com/api/v2

Authentication

Send a personal access token or an OAuth 2.0 access token as a bearer token. Create a personal access token at taskade.com/settings/api.

Http
Authorization: Bearer tskdp_your_token_here

Parameters

Name In Type Required Description
format query string No Export format: "zip" (default) or "tsk" (.tsk app kit).
spaceId path string Yes The space (subspace / app) ID to export.

Example request

Bash
curl -X GET "https://www.taskade.com/api/v2/bundles/<spaceId>/export/zip" \
  -H "Authorization: Bearer $TASKADE_TOKEN"

Responses

200 — Default Response

Errors

Errors return an ok: false envelope. Rate limiting returns 429 with x-rate-limit-limit, x-rate-limit-remaining and x-rate-limit-reset headers — x-rate-limit-reset is the number of seconds until the window reopens. Retry-After is not sent, so schedule retries from x-rate-limit-reset; retrying sooner will fail again.

Json
{ "ok": false, "message": "Unauthorized", "code": "UNAUTHORIZED" }

Rate limits for this version: enforced per endpoint; ceilings are not published and can change without notice. A 429 response carries x-rate-limit-limit, x-rate-limit-remaining, and x-rate-limit-reset (seconds until the window reopens) — back off from those headers rather than hardcoding numbers. If you need sustained throughput, prefer batching (operations like /createTask accept arrays) over tightening polling loops. See Rate limits.