---
title: "POST /api/templates/install/{workspace_id}/{template_id}/async/"
method: POST
path: "/api/templates/install/{workspace_id}/{template_id}/async/"
tags: ["Templates"]
---

# POST /api/templates/install/{workspace_id}/{template_id}/async/

`POST /api/templates/install/{workspace_id}/{template_id}/async/`

Start an async job to install the applications of the given template into the given workspace if the user has access to that workspace. The response contains those newly created applications.

## Path parameters

- `template_id` integer, required
- `workspace_id` integer, required

## Headers

- `ClientSessionId` string, uuid
- `ClientUndoRedoActionGroupId` string, uuid

## Response `202`

- InstallTemplateJobTypeResponse
  - `id` integer, required
  - `type` string, required — The type of the job.
  - `progress_percentage` integer, required — A percentage indicating how far along the job is. 100 means that it's finished.
  - `state` string, required — Indicates the state of the import job.
  - `human_readable_error` string — A human readable error message indicating what went wrong.
  - `error_code` string — A machine readable error code indicating why the job failed.
  - `created_on` string, date-time, required
  - `updated_on` string, date-time, required
  - `workspace` Workspace, required
    - `id` integer, required
    - `name` string, required
    - `generative_ai_models_enabled` string, required
  - `template` Template, required
    - `id` integer, required
    - `name` string, required
    - `slug` string, required — The template slug that is used to match the template with the JSON file name.
    - `icon` string, required — The icon class name that can be used for displaying purposes.
    - `keywords` string — Keywords related to the template that can be used for search.
    - `workspace_id` integer, nullable, required — The group containing the applications related to the template. The read endpoints related to that group are publicly accessible for preview purposes.
    - `is_default` string, required — Indicates if the template must be selected by default. The web-frontend automatically selects the first `is_default` template that it can find.
    - `open_application` integer, nullable — The application ID that must be opened when the template is previewed. If null, then the first will automatically be chosen.
  - `installed_applications` unknown, required

## Other responses

- `400`
- `404`

## Changes

- **2026-08-12** `ea4a3480f8d3` — 1 info
  - added the optional property `error_code` to the response with the `202` status

[Change history](https://skmtc.dev/baserow/apis/baserow-api-spec/changes/api/templates/install/:workspace_id/:template_id/async/post.md)

---

[API](https://skmtc.dev/baserow/apis/baserow-api-spec.md) · [All operations](https://skmtc.dev/baserow/apis/baserow-api-spec/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/baserow/baserow-api-spec/revisions/f3396317d932/schema)
