Workspace Templates
Workspace templates are shared templates that can be duplicated into your projects.
Duplicating a template creates a ready-to-use design in a target project, inheriting all layers, formats, and settings from the original. Use this to automate workspace provisioning or onboard new clients with a standard set of designs.
Duplicate Workspace Template
This operation is asynchronous — the response contains only a duplication_request_id. Use this ID to track progress with the polling endpoint below.
POST/workspace-templates/{companyTemplateId}/useAPI Reference
INFO
To find your companyTemplateId, open the Workspace Templates section in the Abyssale dashboard — there is no API endpoint to list workspace templates.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
companyTemplateId | string (uuid) | Yes | Unique identifier of the workspace template to duplicate. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
project_id | string (uuid) | Yes | Target project where the template will be duplicated. |
name | string | No | Custom name for the duplicated design. Between 2 and 100 characters. Defaults to the template name if omitted. |
Response
| Field | Type | Description |
|---|---|---|
duplication_request_id | string (uuid) | Unique identifier for tracking the duplication process. Pass this to the polling endpoint. |
Response Example
json
{
"duplication_request_id": "40c32a4e-4869-11f0-96f2-0a00d9eb8f78"
}Get Duplication Request Status
INFO
Duplication requests are available for 7 days after creation.
GET/design-duplication-requests/{duplicateRequestId}API Reference
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
duplicateRequestId | string (uuid) | Yes | Unique identifier of the duplication request returned by the duplicate endpoint. |
Response
| Field | Type | Description |
|---|---|---|
request_id | string (uuid) | Unique identifier of this duplication request. |
status | string | Current status of the duplication. See status values below. |
created_at_ts | integer | Unix timestamp when the request was created. |
completed_at_ts | integer | null | Unix timestamp when duplication completed, or null if still in progress. |
errored_at_ts | integer | null | Unix timestamp when duplication failed, or null if not failed. |
target_project | object | The project the template was duplicated into (id, name, created_at_ts). |
designs | array | List of duplicated designs. Each item contains original_design_id, target_design_id, and target_design_name. Empty until duplication completes. |
Status values:
| Status | Meaning |
|---|---|
INIT | Request received, not yet started. |
IN_PROGRESS | Duplication is running. |
COMPLETED | Duplication finished successfully. designs is populated. |
ERROR | Duplication failed. Check errored_at_ts. |
Response Example
json
{
"request_id": "40c32a4e-4869-11f0-96f2-0a00d9eb8f78",
"status": "COMPLETED",
"created_at_ts": 1749827734,
"completed_at_ts": 1749827736,
"errored_at_ts": null,
"target_project": {
"id": "d59adee9-4867-11f0-96f2-0a00d9eb8f78",
"name": "HTML5 Tests",
"created_at_ts": 1749827125
},
"designs": [
{
"original_design_id": "0c967bd0-4137-4690-ad70-249aa021c68b",
"target_design_id": "afb1a61a-6c50-4bc3-a49b-3381822d4e81",
"target_design_name": "Holiday Campaign Template"
}
]
}Related
- Projects — list and create the projects you duplicate templates into
- Designs — list the designs created from a duplicated template
- Authentication — required for all API requests
