---
title: "Get projects"
method: GET
path: "/api/v2/projects"
tags: ["Projects"]
---

# Get projects

`GET /api/v2/projects`

List projects. Returns a paginated collection of projects accessible to the authenticated user. Supports filtering, sorting, and including related resources.

## Query parameters

- `filter` union — Filter schema for `project` list endpoints — pass a single condition or a logical group.
  - FilterProject — Available filter parameters for querying projects.
    - `budget_id` union — Filter by the associated budget (deal).
      - object — Operator object — supports eq, not_eq.
        - `not_contain` BudgetId — unresolved $ref
        - `eq` BudgetId — unresolved $ref
        - `contains` BudgetId — unresolved $ref
        - `not_eq` BudgetId — unresolved $ref
      - BudgetId — unresolved $ref
    - `workflow_id` union — Filter by the project's task workflow.
      - WorkflowId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` WorkflowId — unresolved $ref
        - `contains` WorkflowId — unresolved $ref
        - `eq` WorkflowId — unresolved $ref
        - `not_eq` WorkflowId — unresolved $ref
    - `project_color` union — Filter by the project's color label.
      - ProjectColor — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` ProjectColor — unresolved $ref
        - `not_contain` ProjectColor — unresolved $ref
        - `not_eq` ProjectColor — unresolved $ref
        - `eq` ProjectColor — unresolved $ref
    - `created_at` union — Filter by creation date range (created_at).
      - CreatedAt — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
        - `contains` CreatedAt — unresolved $ref
    - `responsible_id` union — Filter by responsible person (project manager) ID.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` ResponsibleId — unresolved $ref
        - `eq` ResponsibleId — unresolved $ref
        - `not_contain` ResponsibleId — unresolved $ref
        - `not_eq` ResponsibleId — unresolved $ref
      - ResponsibleId — unresolved $ref
    - `template` union — Filter to only return template projects.
      - Template — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Template — unresolved $ref
        - `contains` Template — unresolved $ref
        - `eq` Template — unresolved $ref
        - `not_eq` Template — unresolved $ref
    - `revenue` union — Filter by total revenue across open budgets (in base currency).
      - Revenue — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` Revenue — unresolved $ref
        - `not_contain` Revenue — unresolved $ref
        - `contains` Revenue — unresolved $ref
        - `eq` Revenue — unresolved $ref
    - `project_id` union — Alias for id — filter by project ID.
      - ProjectId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
        - `eq` ProjectId — unresolved $ref
    - `custom_fields` union — Filter by custom field values.
      - CustomFields — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` CustomFields — unresolved $ref
        - `not_eq` CustomFields — unresolved $ref
        - `contains` CustomFields — unresolved $ref
        - `eq` CustomFields — unresolved $ref
    - `cost` union — Filter by total cost across open budgets (in base currency).
      - Cost — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` Cost — unresolved $ref
        - `eq` Cost — unresolved $ref
        - `contains` Cost — unresolved $ref
        - `not_contain` Cost — unresolved $ref
    - `project_type` union — Filter by project type — 1 for internal/overhead, 2 for billable client work.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` ProjectType — unresolved $ref
        - `eq` ProjectType — unresolved $ref
        - `not_contain` ProjectType — unresolved $ref
        - `not_eq` ProjectType — unresolved $ref
      - ProjectType — unresolved $ref
    - `public_access` union — Deprecated. No-op filter — has no effect on results.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` PublicAccess — unresolved $ref
        - `eq` PublicAccess — unresolved $ref
        - `contains` PublicAccess — unresolved $ref
        - `not_contain` PublicAccess — unresolved $ref
      - PublicAccess — unresolved $ref
    - `pending_invoicing` union — Filter by amount pending invoicing across open budgets (in base currency).
      - PendingInvoicing — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` PendingInvoicing — unresolved $ref
        - `not_eq` PendingInvoicing — unresolved $ref
        - `eq` PendingInvoicing — unresolved $ref
        - `contains` PendingInvoicing — unresolved $ref
    - `number` union — Filter by auto-generated project number.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` Number — unresolved $ref
        - `not_contain` Number — unresolved $ref
        - `contains` Number — unresolved $ref
        - `eq` Number — unresolved $ref
      - Number — unresolved $ref
    - `worked_time` union — Filter by total worked time across open budgets only (in minutes).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` WorkedTime — unresolved $ref
        - `contains` WorkedTime — unresolved $ref
        - `eq` WorkedTime — unresolved $ref
        - `not_contain` WorkedTime — unresolved $ref
      - WorkedTime — unresolved $ref
    - `company_id` union — Filter by client company.
      - CompanyId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` CompanyId — unresolved $ref
        - `contains` CompanyId — unresolved $ref
        - `not_contain` CompanyId — unresolved $ref
        - `not_eq` CompanyId — unresolved $ref
    - `id` union — Filter by project ID.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` Id — unresolved $ref
        - `not_eq` Id — unresolved $ref
        - `contains` Id — unresolved $ref
        - `not_contain` Id — unresolved $ref
      - Id — unresolved $ref
    - `project_number` union — Filter by formatted project number string (e.g. ACME-001).
      - ProjectNumber — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` ProjectNumber — unresolved $ref
        - `eq` ProjectNumber — unresolved $ref
        - `not_contain` ProjectNumber — unresolved $ref
        - `not_eq` ProjectNumber — unresolved $ref
    - `status` union — Filter by project status. 1 = active, 2 = archived.
      - Status — unresolved $ref
      - object — Operator object — supports eq, not_eq.
        - `eq` Status — unresolved $ref
        - `not_eq` Status — unresolved $ref
        - `not_contain` Status — unresolved $ref
        - `contains` Status — unresolved $ref
    - `with_templates` union — When true, includes template projects in results (removes the default filter that excludes templates).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` WithTemplates — unresolved $ref
        - `not_contain` WithTemplates — unresolved $ref
        - `not_eq` WithTemplates — unresolved $ref
        - `contains` WithTemplates — unresolved $ref
      - WithTemplates — unresolved $ref
    - `jump_query` union — Quick-jump search query for fast project navigation by name.
      - JumpQuery — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` JumpQuery — unresolved $ref
        - `not_contain` JumpQuery — unresolved $ref
        - `contains` JumpQuery — unresolved $ref
        - `eq` JumpQuery — unresolved $ref
    - `query` union — Full-text search query — matches project name and other fields.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` Query — unresolved $ref
        - `contains` Query — unresolved $ref
        - `not_eq` Query — unresolved $ref
        - `not_contain` Query — unresolved $ref
      - Query — unresolved $ref
    - `profit` union — Filter by total profit across open budgets (in base currency).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Profit — unresolved $ref
        - `not_contain` Profit — unresolved $ref
        - `not_eq` Profit — unresolved $ref
        - `eq` Profit — unresolved $ref
      - Profit — unresolved $ref
    - `person_id` union — Filter by person ID — returns projects where the person is a member or project manager.
      - PersonId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` PersonId — unresolved $ref
        - `contains` PersonId — unresolved $ref
        - `not_contain` PersonId — unresolved $ref
        - `eq` PersonId — unresolved $ref
    - `fuzzy_dates` union — Fuzzy date range filter — matches projects by start/end date proximity.
      - FuzzyDates — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` FuzzyDates — unresolved $ref
        - `eq` FuzzyDates — unresolved $ref
    - `full_query` union — Full-text search across all project content fields.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` FullQuery — unresolved $ref
        - `not_eq` FullQuery — unresolved $ref
        - `contains` FullQuery — unresolved $ref
        - `eq` FullQuery — unresolved $ref
      - FullQuery — unresolved $ref
    - `profit_margin` union — Filter by the project's profit margin across open budgets.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ProfitMargin — unresolved $ref
        - `eq` ProfitMargin — unresolved $ref
        - `not_contain` ProfitMargin — unresolved $ref
        - `contains` ProfitMargin — unresolved $ref
      - ProfitMargin — unresolved $ref
    - `fuzzy_people` union — Fuzzy person filter — matches projects by associated people (members or project manager).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` FuzzyPeople — unresolved $ref
        - `eq` FuzzyPeople — unresolved $ref
        - `not_contain` FuzzyPeople — unresolved $ref
        - `contains` FuzzyPeople — unresolved $ref
      - FuzzyPeople — unresolved $ref
    - `for_tracking` union — Filter to only include projects eligible for time tracking (active projects only).
      - ForTracking — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` ForTracking — unresolved $ref
        - `eq` ForTracking — unresolved $ref
        - `contains` ForTracking — unresolved $ref
        - `not_eq` ForTracking — unresolved $ref
    - `estimated_time` union — Filter by total estimated time across open budgets (in minutes).
      - EstimatedTime — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` EstimatedTime — unresolved $ref
        - `not_eq` EstimatedTime — unresolved $ref
        - `contains` EstimatedTime — unresolved $ref
        - `not_contain` EstimatedTime — unresolved $ref
    - `parent_company_id` union — Filter by the parent company of the project's company.
      - ParentCompanyId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ParentCompanyId — unresolved $ref
        - `not_eq` ParentCompanyId — unresolved $ref
        - `not_contain` ParentCompanyId — unresolved $ref
        - `contains` ParentCompanyId — unresolved $ref
    - `total_worked_time` union — Filter by total worked time across all budgets including closed ones (in minutes).
      - TotalWorkedTime — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` TotalWorkedTime — unresolved $ref
        - `contains` TotalWorkedTime — unresolved $ref
        - `not_eq` TotalWorkedTime — unresolved $ref
        - `not_contain` TotalWorkedTime — unresolved $ref
    - `name` union — Filter by project name (text search).
      - Name — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Name — unresolved $ref
        - `not_eq` Name — unresolved $ref
        - `eq` Name — unresolved $ref
        - `not_contain` Name — unresolved $ref
  - object — A logical filter group — combine multiple conditions with the `$op` operator.
    - `$op` 'or' | 'and', required — Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match.
- `sort` string[]

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection project

---

[API](https://skmtc.net/productive/apis/api-documentation.md) · [All operations](https://skmtc.net/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/productive/api-documentation/revisions/82ff0be36937/schema)
