POST /bundles/{workspaceId}/import
Import a JSON bundle (agents, automations, projects, templates, apps) into a workspace. The bundle is validated against the SpaceBundleData v1 schema and all items are installed into the target workspace. Media items are not supported — use the ZIP import or upload media separately via the media endpoints after import.
Base URL: https://www.taskade.com/api/v1
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.
Authorization: Bearer tskdp_your_token_here
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
workspaceId |
path | string |
Yes | The target workspace ID to import the bundle into. |
Request body
application/json
| Field | Type | Required | Description |
|---|---|---|---|
bundleData |
object |
Yes | The Workspace DNA bundle to import (SpaceBundleData v1). |
Example request
curl -X POST "https://www.taskade.com/api/v1/bundles/<workspaceId>/import" \
-H "Authorization: Bearer $TASKADE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"bundleData":{"version":"1","items":{}}}'
Responses
200 — Successful bundle import
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
Yes | — |
item |
object |
Yes | — |
4XX — Error description
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
Yes | — |
message |
string |
Yes | — |
code |
string |
Yes | — |
statusMessage |
string |
Yes | — |
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.
{ "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. Bundle import and export run under tighter limits than regular reads and writes, so schedule bulk transfers accordingly. See Rate limits.