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

NameTypeRequiredDescription
statusstringnoOne of active, finished, invoiced, on-hold, inactive, archived.
customer_idintegernoLimit to a single primary customer.
sub_customer_idintegernoLimit to a single sub-customer.
project_manager_idintegernoLimit to projects with this project manager.
account_manager_idintegernoLimit to projects with this account manager.
application_idintegernoLimit to projects tied to this application.
workflow_modestringnoOne of sprints, simple.
is_billablebooleannoFilter billable/non-billable projects.
is_continuousbooleannoFilter continuous/non-continuous projects.
tagstringnoExact tag name match.
searchstringnoSubstring match on the title (case-insensitive).
start_date_fromstring (Y-m-d)noInclusive lower bound on the start date.
start_date_tostring (Y-m-d)noInclusive upper bound on the start date.
end_date_fromstring (Y-m-d)noInclusive lower bound on the end date.
end_date_tostring (Y-m-d)noInclusive upper bound on the end date.
trashedstringnowithout (default), with, or only.
limitintegernoPage size, 1–100, default 25.
offsetintegernoNumber 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_mode or trashed value returns a validation error.
  • Missing projects::read returns an authorization error.

On this page