Projects
list-projects-tool
List projects filtered by status, customer, managers, application, billable/continuous flags, tag, date range or title.
Returns paginated project summaries. Soft-deleted projects are excluded by default; pass trashed: "with" or trashed: "only" to include them.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
status | string | no | One of active, finished, invoiced, on-hold, inactive, archived. |
customer_id | integer | no | Limit to a single primary customer. |
sub_customer_id | integer | no | Limit to a single sub-customer. |
project_manager_id | integer | no | Limit to projects with this project manager. |
account_manager_id | integer | no | Limit to projects with this account manager. |
application_id | integer | no | Limit to projects tied to this application. |
workflow_mode | string | no | One of sprints, simple. |
is_billable | boolean | no | Filter billable/non-billable projects. |
is_continuous | boolean | no | Filter continuous/non-continuous projects. |
tag | string | no | Exact tag name match. |
search | string | no | Substring match on the title (case-insensitive). |
start_date_from | string (Y-m-d) | no | Inclusive lower bound on the start date. |
start_date_to | string (Y-m-d) | no | Inclusive upper bound on the start date. |
end_date_from | string (Y-m-d) | no | Inclusive lower bound on the end date. |
end_date_to | string (Y-m-d) | no | Inclusive upper bound on the end date. |
trashed | string | no | without (default), with, or only. |
limit | integer | no | Page size, 1–100, default 25. |
offset | integer | no | Number of rows to skip, default 0. |
Permissions
projects::read.
Example
{
"status": "active",
"customer_id": 3,
"limit": 10
}Response
{
"data": [
{
"id": 7,
"title": "ACME website",
"full_title": "ACME website",
"description": "Replatform onto the new CMS.",
"status": "active",
"workflow_mode": "simple",
"start_date": "2026-01-15",
"end_date": null,
"is_billable": true,
"is_continuous": false,
"last_activity": "2026-05-19 12:34:56",
"deleted_at": null,
"customer": { "id": 3, "name": "ACME", "code": "ACM" },
"sub_customer": null,
"project_manager": { "id": 4, "name": "Ada Lovelace" },
"account_manager": { "id": 11, "name": "Grace Hopper" },
"application": { "id": 2, "name": "Marketing site" }
}
],
"pagination": { "total": 1, "limit": 10, "offset": 0, "has_more": false }
}Errors
- An invalid
status,workflow_modeortrashedvalue returns a validation error. - Missing
projects::readreturns an authorization error.