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
Delete a project
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.