---
title: "POST /bundles/{workspaceId}/import/zip"
method: POST
path: "/bundles/{workspaceId}/import/zip"
tags: ["Bundle"]
---

# POST /bundles/{workspaceId}/import/zip

`POST /bundles/{workspaceId}/import/zip`

## Request

- Base URL: `https://www.taskade.com/api/v1`
- URL: `https://www.taskade.com/api/v1/bundles/{workspaceId}/import/zip`
- Auth: OAuth 2 and HTTP bearer
  - Authorization code: `https://www.taskade.com/oauth2/authorize`
  - Token URL: `https://www.taskade.com/oauth2/token`

Import a ZIP/.tsk bundle (exported from the export/zip endpoint) into a workspace. All items are installed into the target workspace. The ZIP must contain valid bundle data (either bundle.json or directory structure). Media files in the ZIP are re-uploaded to storage automatically. Send the file as the raw request body with Content-Type: application/zip, application/octet-stream, or application/x-tsk.

## Path parameters

- `workspaceId` string, required

## Response `200`

Successful ZIP bundle import

- object: Successful ZIP bundle import
  - `ok` true, required
  - `item` BundleInstallation, required
    - `id` string, required: Unique identifier for the bundle installation.
    - `projectCount` number, required: Number of projects installed.
    - `flowCount` number, required: Number of automations installed.
    - `agentCount` number, required: Number of agents installed.
    - `templateCount` number, required: Number of templates installed.
    - `mediaCount` number, required: Number of media files installed.
    - `appCount` number, required: Number of apps installed.

## Other responses

- `4XX`: Error description

---

[API](https://skmtc.dev/taskade/apis/taskade-public-api-v1.md) - [All operations](https://skmtc.dev/taskade/apis/taskade-public-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/taskade/apis/taskade-public-api-v1/revisions/55e17fe72d22?raw)
