Skip to main content
The Zolt API exposes four core resource types: Projects, Tasks, Users, and Teams. Together they cover the full lifecycle of work inside a Zolt workspace — from creating a project and populating it with tasks, to assigning work to individual users or entire teams. Each section below documents every endpoint for that resource, its required and optional parameters, and a ready-to-run curl example.

Projects

Projects are the top-level containers in Zolt. Every task belongs to a project, and every project belongs to a workspace.

GET /projects — List Projects

Returns a paginated list of all projects your API key has access to. See Pagination for filtering and cursor options.
List projects
Response

POST /projects — Create a Project

Creates a new project in your workspace. The project owner is set to the user whose API key is used.
string
requis
The display name of the project. Must be between 1 and 150 characters.
string
An optional plain-text description of the project’s purpose. Maximum 1 000 characters.
string
Controls who in the workspace can see the project. Accepted values: private (only members explicitly added), team (visible to the whole workspace team), or public (accessible via a shareable link). Defaults to private.
Create a project

GET /projects/{project_id} — Get a Project

Returns a single project by its ID.
Get a project
Response

PATCH /projects/{project_id} — Update a Project

Updates one or more fields on an existing project. Only include the fields you want to change — all others remain unchanged.
Update a project
Response

DELETE /projects/{project_id} — Delete a Project

Deleting a project is permanent and irreversible. All tasks, comments, and attachments within the project are deleted immediately and cannot be recovered. Make sure you have exported or backed up any data you need before calling this endpoint.
Delete a project
A successful deletion returns 204 No Content with an empty response body.

Tasks

Tasks live inside projects and represent individual units of work. Every task is tied to exactly one project.

GET /projects/{project_id}/tasks — List Tasks

Returns a paginated list of all tasks in a given project. Supports filtering by status, assignee_id, and priority. See Pagination & Filtering for details.
List tasks in a project
Response

POST /projects/{project_id}/tasks — Create a Task

Creates a new task inside the specified project.
string
requis
The title of the task. Must be between 1 and 255 characters.
string
Optional longer-form description of the work to be done. Supports plain text up to 10 000 characters.
string
The ID of the workspace member to assign the task to (e.g., user_xyz789). The user must be a member of the workspace.
string
The deadline for the task as an ISO 8601 datetime string (e.g., 2025-03-31T17:00:00Z). Omit to leave the task with no due date.
string
Task urgency level. Accepted values: low, medium, high, or urgent. Defaults to medium if omitted.
string
Initial status of the task. Accepted values: backlog, todo, in_progress, in_review, or done. Defaults to backlog.
Create a task
Response

GET /tasks/{task_id} — Get a Task

Returns a single task by its ID, regardless of which project it belongs to.
Get a task

PATCH /tasks/{task_id} — Update a Task

Updates one or more fields on an existing task. Accepts any combination of the same fields available at creation — send only the fields you want to change.
Update a task
Response

DELETE /tasks/{task_id} — Delete a Task

Permanently deletes a task and all its comments. Returns 204 No Content on success.
Delete a task

Users

User endpoints let you retrieve profile information for the authenticated caller and enumerate all members of a workspace.

GET /users/me — Get the Authenticated User

Returns the full profile of the user whose API key is present in the request. Use this endpoint to verify that authentication is working correctly and to retrieve your own user ID.
Get authenticated user
Response

GET /workspace/members — List Workspace Members

Returns a paginated list of every member in the workspace associated with your API key. Useful for populating assignee_id when creating or updating tasks.
List workspace members
Response

Teams

Teams group workspace members together so you can assign work and manage permissions at the group level.

GET /teams — List Teams

Returns a paginated list of all teams in the workspace.
List teams
Response

POST /teams — Create a Team

Creates a new team and optionally adds members at creation time.
string
requis
The display name for the team. Must be between 1 and 100 characters and unique within the workspace.
array
An optional array of user ID strings to add as members when the team is created (e.g., ["user_xyz789", "user_mno321"]). You can also add members later via the Zolt UI.
Create a team
Response

GET /teams/{team_id} — Get a Team

Returns a single team along with the full list of its current members.
Get a team
Response

DELETE /teams/{team_id} — Delete a Team

Permanently removes the team from the workspace. Members are not deleted — only the team grouping itself is removed. Returns 204 No Content on success.
Delete a team
Deleting a team does not remove its members from the workspace, nor does it affect tasks or projects that were assigned to the team. You will need to reassign those resources manually if needed.
Dernière modification le 18 septembre 2026