> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zivio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Projects

> Retrieve a paginated list of projects. Use filters to narrow results.

## Filtering

Use the `filter[<attribute>]` parameter to filter results. Multiple filters are combined with AND logic.

### Basic Examples
```
# Equality (implicit)
GET /api/v4/projects?filter[state]=draft

# Multiple values (implicit IN)
GET /api/v4/projects?filter[state]=draft,new

# With explicit operator
GET /api/v4/projects?filter[created_at][gte]=2024-01-01

# Range query
GET /api/v4/projects?filter[rate][between]=1000000,5000000

# Multiple filters (AND)
GET /api/v4/projects?filter[state]=draft&filter[rate][gte]=1000000
```

### Available Attributes

| Attribute | Type | Operators | Permitted Values |
|-----------|------|-----------|------------------|
| additional_notes | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| administrator_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| approved | boolean | `eq`, `not_eq` | - |
| approved_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| auto_close_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| award_suppliers | json | `eq`, `not_eq` | - |
| award_type | string | `eq`, `not_eq`, `in`, `not_in` | `direct_award`, `competition` |
| bafo_submission_deadline | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| bid_round | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| bids_count | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| budget | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| cancellation_other_reason | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| cancellation_reason_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| cancelled_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| cancelled_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| client_billing_contact_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| client_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| client_org_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| client_payment_terms_in_days | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| closed_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| closed_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| completed_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| cost_score_allocation_percentage | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| created_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| current_approval_level | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| custom_location | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| description | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| due_on | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| duration | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| ended_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| estimated_savings | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| fee | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| fee_methodology | string | `eq`, `not_eq`, `in`, `not_in` | `markup`, `supplier_absorbed`, `tiered_markup`, `supplier_absorbed_itemized`, `markup_itemized` |
| fee_schedule_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| halted_comment | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| hired_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| is_child | boolean | `eq`, `not_eq` | - |
| is_parent | boolean | `eq`, `not_eq` | - |
| is_template | boolean | `eq`, `not_eq` | - |
| location_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| location_type | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| markup | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| original_budget | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| original_due_on | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| original_project_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| original_rate | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| payment_terms_in_days | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| posting_type | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| project_matches_count | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| projected_recognized_savings | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| quality_score_allocation_percentage | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| rate | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| reject_reason | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| risk_level_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| skill_category_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| skill_category_tier3_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| skill_subcategory_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| start_date | date | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| state | string | `eq`, `not_eq`, `in`, `not_in` | `draft`, `pending`, `new`, `halted`, `in_progress`, `work_completed`, `cancelled`, `closed`, `superseded`, `bafo` |
| submission_deadline | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| submission_deadline_time_zone | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| submitted_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| supplier_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| talent_pool_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| target_cost | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| time_zone | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| title | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| type | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |
| updated_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `between` | - |
| visibility | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | - |

### Custom Fields

This resource supports custom field filtering using `cf[key]` syntax:
```
# Equality
GET /api/v4/projects?cf[priority]=high

# With operator
GET /api/v4/projects?cf[department][in]=engineering,design

# Check existence
GET /api/v4/projects?cf[priority][exists]=

# Negation
GET /api/v4/projects?cf[priority][not_eq]=low
```

### OR Conditions

Use `or[group]` to combine filter groups with OR logic. Filters within a group are ANDed:
```
# Simple OR
GET /api/v4/projects?or[1][state]=pending&or[2][state]=draft

# Complex OR (state=pending AND rate>=1000000) OR (state=draft)
GET /api/v4/projects?or[1][state]=pending&or[1][rate][gte]=1000000&or[2][state]=draft
```

## Sorting

Use `sort[<attribute>]` to order results. Default direction is ascending.
```
# Ascending (implicit)
GET /api/v4/projects?sort[created_at]=

# Descending
GET /api/v4/projects?sort[created_at]=desc

# Combined with filters
GET /api/v4/projects?filter[state]=draft&sort[created_at]=desc
```



## OpenAPI

````yaml /api-reference/v4/openapi.json get /projects
openapi: 3.1.0
info:
  title: API V4
  version: '4'
  description: >-
    OAuth 2.0 secured API. Obtain an access token using client credentials to
    access protected endpoints. The regional endpoints listed below serve every
    Zivio organisation, so each request — including the token request — must
    carry a `zivio-tenant-id` header identifying yours. Requests without it are
    rejected with a 404 before any token is checked.
  contact:
    name: API Support
    email: support@zivio.com
servers:
  - url: https://api.zivio.net/api/v4
    description: Global API Router
  - url: https://api.eu.zivio.net/api/v4
    description: EU Data Region
  - url: https://api.uk.zivio.net/api/v4
    description: UK Data Region
  - url: https://api.us.zivio.net/api/v4
    description: US Data Region
security:
  - oauth2: []
    tenantId: []
paths:
  /projects:
    get:
      tags:
        - Projects
      summary: List Projects
      description: >-
        Retrieve a paginated list of projects. Use filters to narrow results.


        ## Filtering


        Use the `filter[<attribute>]` parameter to filter results. Multiple
        filters are combined with AND logic.


        ### Basic Examples

        ```

        # Equality (implicit)

        GET /api/v4/projects?filter[state]=draft


        # Multiple values (implicit IN)

        GET /api/v4/projects?filter[state]=draft,new


        # With explicit operator

        GET /api/v4/projects?filter[created_at][gte]=2024-01-01


        # Range query

        GET /api/v4/projects?filter[rate][between]=1000000,5000000


        # Multiple filters (AND)

        GET /api/v4/projects?filter[state]=draft&filter[rate][gte]=1000000

        ```


        ### Available Attributes


        | Attribute | Type | Operators | Permitted Values |

        |-----------|------|-----------|------------------|

        | additional_notes | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | administrator_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | approved | boolean | `eq`, `not_eq` | - |

        | approved_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | auto_close_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | award_suppliers | json | `eq`, `not_eq` | - |

        | award_type | string | `eq`, `not_eq`, `in`, `not_in` | `direct_award`,
        `competition` |

        | bafo_submission_deadline | datetime | `eq`, `not_eq`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | bid_round | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | bids_count | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | budget | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | cancellation_other_reason | string | `eq`, `not_eq`, `in`, `not_in`,
        `like`, `not_like` | - |

        | cancellation_reason_id | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | cancelled_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | cancelled_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | client_billing_contact_id | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | client_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | client_org_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | client_payment_terms_in_days | integer | `eq`, `not_eq`, `in`,
        `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |

        | closed_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | closed_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | completed_by_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | cost_score_allocation_percentage | decimal | `eq`, `not_eq`, `in`,
        `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |

        | created_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | current_approval_level | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | custom_location | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | description | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | due_on | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | duration | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like`
        | - |

        | ended_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | estimated_savings | money | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | fee | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | fee_methodology | string | `eq`, `not_eq`, `in`, `not_in` | `markup`,
        `supplier_absorbed`, `tiered_markup`, `supplier_absorbed_itemized`,
        `markup_itemized` |

        | fee_schedule_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | halted_comment | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | hired_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | is_child | boolean | `eq`, `not_eq` | - |

        | is_parent | boolean | `eq`, `not_eq` | - |

        | is_template | boolean | `eq`, `not_eq` | - |

        | location_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | location_type | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | markup | decimal | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | original_budget | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | original_due_on | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | original_project_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | original_rate | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | payment_terms_in_days | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | posting_type | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | project_matches_count | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | projected_recognized_savings | money | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | quality_score_allocation_percentage | decimal | `eq`, `not_eq`, `in`,
        `not_in`, `gt`, `gte`, `lt`, `lte`, `between` | - |

        | rate | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | reject_reason | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | risk_level_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | skill_category_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | skill_category_tier3_id | integer | `eq`, `not_eq`, `in`, `not_in`,
        `gt`, `gte`, `lt`, `lte`, `between` | - |

        | skill_subcategory_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | start_date | date | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | state | string | `eq`, `not_eq`, `in`, `not_in` | `draft`, `pending`,
        `new`, `halted`, `in_progress`, `work_completed`, `cancelled`, `closed`,
        `superseded`, `bafo` |

        | submission_deadline | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`,
        `lte`, `between` | - |

        | submission_deadline_time_zone | string | `eq`, `not_eq`, `in`,
        `not_in`, `like`, `not_like` | - |

        | submitted_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | supplier_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | talent_pool_id | integer | `eq`, `not_eq`, `in`, `not_in`, `gt`,
        `gte`, `lt`, `lte`, `between` | - |

        | target_cost | money | `eq`, `not_eq`, `in`, `not_in`, `gt`, `gte`,
        `lt`, `lte`, `between` | - |

        | time_zone | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |

        | title | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` |
        - |

        | type | string | `eq`, `not_eq`, `in`, `not_in`, `like`, `not_like` | -
        |

        | updated_at | datetime | `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`,
        `between` | - |

        | visibility | string | `eq`, `not_eq`, `in`, `not_in`, `like`,
        `not_like` | - |


        ### Custom Fields


        This resource supports custom field filtering using `cf[key]` syntax:

        ```

        # Equality

        GET /api/v4/projects?cf[priority]=high


        # With operator

        GET /api/v4/projects?cf[department][in]=engineering,design


        # Check existence

        GET /api/v4/projects?cf[priority][exists]=


        # Negation

        GET /api/v4/projects?cf[priority][not_eq]=low

        ```


        ### OR Conditions


        Use `or[group]` to combine filter groups with OR logic. Filters within a
        group are ANDed:

        ```

        # Simple OR

        GET /api/v4/projects?or[1][state]=pending&or[2][state]=draft


        # Complex OR (state=pending AND rate>=1000000) OR (state=draft)

        GET
        /api/v4/projects?or[1][state]=pending&or[1][rate][gte]=1000000&or[2][state]=draft

        ```


        ## Sorting


        Use `sort[<attribute>]` to order results. Default direction is
        ascending.

        ```

        # Ascending (implicit)

        GET /api/v4/projects?sort[created_at]=


        # Descending

        GET /api/v4/projects?sort[created_at]=desc


        # Combined with filters

        GET /api/v4/projects?filter[state]=draft&sort[created_at]=desc

        ```
      operationId: getProjects
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
          description: Page number for pagination
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
            maximum: 100
          description: Number of results per page (max 100)
        - name: filter[<attribute>]
          in: query
          style: deepObject
          explode: true
          schema:
            type: object
          description: >-
            Filterable attributes:


            **integer** (operators: eq, not_eq, in, not_in, gt, gte, lt, lte,
            between): administrator_id, bid_round, bids_count,
            cancellation_reason_id, cancelled_by_id, client_billing_contact_id,
            client_id, client_org_id, client_payment_terms_in_days,
            closed_by_id, completed_by_id, current_approval_level,
            fee_schedule_id, id, location_id, original_project_id,
            payment_terms_in_days, project_matches_count, risk_level_id,
            skill_category_id, skill_category_tier3_id, skill_subcategory_id,
            supplier_id, talent_pool_id

            **datetime** (operators: eq, not_eq, gt, gte, lt, lte, between):
            approved_at, auto_close_at, bafo_submission_deadline, cancelled_at,
            closed_at, created_at, due_on, ended_at, hired_at, original_due_on,
            submission_deadline, submitted_at, updated_at

            **string** (operators: eq, not_eq, in, not_in, like, not_like):
            additional_notes, award_type (one of: direct_award, competition),
            cancellation_other_reason, custom_location, description, duration,
            fee_methodology (one of: markup, supplier_absorbed, tiered_markup,
            supplier_absorbed_itemized, markup_itemized), halted_comment,
            location_type, posting_type, reject_reason, state (one of: draft,
            pending, new, halted, in_progress, work_completed, cancelled,
            closed, superseded, bafo), submission_deadline_time_zone, time_zone,
            title, type, visibility

            **money** (operators: eq, not_eq, in, not_in, gt, gte, lt, lte,
            between): budget, estimated_savings, original_budget, original_rate,
            projected_recognized_savings, rate, target_cost

            **decimal** (operators: eq, not_eq, in, not_in, gt, gte, lt, lte,
            between): cost_score_allocation_percentage, fee, markup,
            quality_score_allocation_percentage

            **date** (operators: eq, not_eq, gt, gte, lt, lte, between):
            start_date

            **boolean** (operators: eq, not_eq): approved, is_child, is_parent,
            is_template

            **json** (operators: eq, not_eq): award_suppliers


            Note: money values are in minor currency units (e.g. pence for GBP).
            Use 1000000 for £10,000.00.


            Note: `like` is a case-insensitive substring match — pass the bare
            term (filter[title][like]=redesign). Do not add % wildcards; they
            are not needed.
          examples:
            equality:
              summary: Simple equality
              value:
                state: draft
            multiple_values:
              summary: Multiple values (implicit IN)
              value:
                state: draft,new
            with_operator:
              summary: With explicit operator
              value:
                created_at:
                  gte: '2024-01-01'
            range:
              summary: Range query
              value:
                rate:
                  between: 1000000,5000000
        - name: or[group]
          in: query
          style: deepObject
          explode: true
          schema:
            type: object
          description: >-
            OR condition groups. Filters within a group are ANDed; groups are
            ORed.


            **Syntax**: `or[group_key][<attribute>]=value` or
            `or[group_key][<attribute>][operator]=value`


            **Examples**:

            - Simple OR: `or[1][state]=draft&or[2][state]=pending`

            - Complex:
            `or[1][state]=draft&or[1][budget][gte]=50000&or[2][state]=closed`

            - With custom fields:
            `or[1][cf][priority]=high&or[2][state]=pending`


            Group keys can be any string (1, 2, a, b, etc.) - they just need to
            be unique.
          examples:
            simple_or:
              summary: Simple OR
              value:
                '1':
                  state: pending
                '2':
                  state: draft
            complex_or:
              summary: Complex OR with AND within groups
              value:
                '1':
                  state: pending
                  rate:
                    gte: '1000000'
                '2':
                  state: draft
        - name: cf[key]
          in: query
          style: deepObject
          explode: true
          schema:
            type: object
          description: >-
            Custom field filters using concise syntax.


            **Syntax**:

            - Equality: `cf[key]=value`

            - With operator: `cf[key][operator]=value`


            **Operators**: eq (default), not_eq, in, not_in, contains,
            not_contains, exists, not_exists


            **Examples**:

            - `cf[priority]=high` - exact match

            - `cf[department][in]=eng,design` - matches any

            - `cf[priority][not_eq]=low` - not equal

            - `cf[notes][contains]=urgent` - contains text

            - `cf[legacy_field][exists]=` - field exists (value ignored)

            - `cf[deprecated][not_exists]=` - field does not exist
          examples:
            equality:
              summary: Simple equality
              value:
                priority: high
            with_operator:
              summary: With IN operator
              value:
                department:
                  in: eng,design
            exists:
              summary: Check existence
              value:
                priority:
                  exists: ''
        - name: or[group][cf][key]
          in: query
          style: deepObject
          explode: true
          schema:
            type: object
          description: >-
            Custom field filters within OR condition groups.


            **Syntax**: `or[group][cf][key]=value` or
            `or[group][cf][key][operator]=value`


            **Example**: `or[1][cf][priority]=high&or[2][state]=pending`
        - name: sort[<attribute>]
          in: query
          style: deepObject
          explode: true
          schema:
            type: object
          description: >-
            Sort results by attribute. Direction defaults to ascending.


            **Syntax**: `sort[<attribute>]=` (ascending) or
            `sort[<attribute>]=desc` (descending)


            **Sortable attributes**: additional_notes, administrator_id,
            approved, approved_at, auto_close_at, award_suppliers, award_type,
            bafo_submission_deadline, bid_round, bids_count, budget,
            cancellation_other_reason, cancellation_reason_id, cancelled_at,
            cancelled_by_id, client_billing_contact_id, client_id,
            client_org_id, client_payment_terms_in_days, closed_at,
            closed_by_id, completed_by_id, cost_score_allocation_percentage,
            created_at, current_approval_level, custom_location, description,
            due_on, duration, ended_at, estimated_savings, fee, fee_methodology,
            fee_schedule_id, halted_comment, hired_at, id, is_child, is_parent,
            is_template, location_id, location_type, markup, original_budget,
            original_due_on, original_project_id, original_rate,
            payment_terms_in_days, posting_type, project_matches_count,
            projected_recognized_savings, quality_score_allocation_percentage,
            rate, reject_reason, risk_level_id, skill_category_id,
            skill_category_tier3_id, skill_subcategory_id, start_date, state,
            submission_deadline, submission_deadline_time_zone, submitted_at,
            supplier_id, talent_pool_id, target_cost, time_zone, title, type,
            updated_at, visibility


            **Examples**:

            - Ascending: `sort[created_at]=` or `sort[created_at]=asc`

            - Descending: `sort[created_at]=desc`
          examples:
            ascending:
              summary: Ascending (implicit)
              value:
                created_at: ''
            descending:
              summary: Descending
              value:
                created_at: desc
      responses:
        '200':
          description: List of projects
          content:
            application/json:
              schema:
                type: object
                properties:
                  projects:
                    type: array
                    items:
                      $ref: '#/components/schemas/Project'
              examples:
                success:
                  summary: Successful response with projects
                  value:
                    projects:
                      - id: 101
                        title: Website Redesign Project
                        description: Complete redesign of corporate website with modern UX
                        state: pending
                        additional_notes: Additional information and context for this record.
                        skill_category:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_subcategory:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_category_tier3:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skills:
                          - id: 101
                            name: Acme Corporation
                            slug: Example slug
                          - id: 102
                            name: Global Services Ltd
                            slug: Example slug
                        talent_pool_id: 501
                        type: standard
                        posting_type: public
                        bids_count: 5
                        submission_deadline: '2024-01-16T10:30:00+00:00'
                        submission_deadline_time_zone: Europe/London
                        ccy: GBP
                        fee_methodology: supplier_absorbed
                        fee_schedule_id: 501
                        award_type: competition
                        risk_level_id: 501
                        is_template: false
                        quality_score_allocation_percentage: 50
                        cost_score_allocation_percentage: 50
                        award_suppliers:
                          - direct
                          - panel
                        approved: true
                        submitted_at: '2024-01-16T10:30:00+00:00'
                        approved_at: '2024-01-16T10:30:00+00:00'
                        hired_at: '2024-01-16T10:30:00+00:00'
                        start_date: '2024-03-08'
                        due_on: '2024-01-16'
                        original_due_on: '2024-01-16'
                        ended_at: '2024-01-16T10:30:00+00:00'
                        closed_at: '2024-01-16T10:30:00+00:00'
                        auto_close_at: '2024-01-16T10:30:00+00:00'
                        halted_comment: null
                        cancellation_reason_id: 501
                        cancellation_other_reason: null
                        cancelled_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        cancelled_at: '2024-01-16T10:30:00+00:00'
                        completed_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        closed_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        visibility: visible
                        bafo_submission_deadline: '2024-01-16T10:30:00+00:00'
                        bid_round: 101
                        original_project_id: 501
                        location:
                          type: location
                          label: London, UK
                        target_cost:
                          cents: 150000
                          currency: GBP
                        budget:
                          cents: 150000
                          currency: GBP
                        original_budget:
                          cents: 150000
                          currency: GBP
                        rate:
                          cents: 150000
                          currency: GBP
                        original_rate:
                          cents: 150000
                          currency: GBP
                        fee: '1500.00'
                        markup: '1500.00'
                        estimated_savings:
                          cents: 150000
                          currency: GBP
                        projected_recognized_savings:
                          cents: 150000
                          currency: GBP
                        payment_terms_in_days: 30
                        client_payment_terms_in_days: 30
                        permit_supplier_defined_milestones: null
                        supplier_defined_milestones: null
                        client_defined_milestones_mandatory: null
                        invoices_cis: null
                        cis_end_user_client: null
                        is_child: false
                        is_parent: false
                        custom_fields:
                          department: Engineering
                          priority: high
                          cost_code: CC-001
                        badges:
                          - urgent
                          - featured
                        project_screening_questions:
                          - question: Years of experience?
                            required: true
                          - question: Available start date?
                            required: false
                        client:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        administrator:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        client_org:
                          id: 101
                          name: Acme Corporation
                          is_external_client: true
                        cost_centers:
                          - cost_center_id: 501
                            allocation_percentage: '1500.00'
                            name: Acme Corporation
                            code: null
                            admin_custom_fields: null
                            project_id: 501
                          - cost_center_id: 502
                            allocation_percentage: '1500.00'
                            name: Global Services Ltd
                            code: null
                            admin_custom_fields: null
                            project_id: 502
                        milestones:
                          - id: 101
                            title: Website Redesign Project
                            status: submitted
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-16'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 501
                            original_rate:
                              cents: 150000
                              currency: GBP
                            purchase_order_line_id: 501
                            rate:
                              cents: 150000
                              currency: GBP
                            submitted_at: '2024-01-16T10:30:00+00:00'
                            interim_valuation_date: '2024-01-16T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 150000
                              currency: GBP
                            children:
                              - 201
                              - 202
                            parents:
                              - 201
                              - 202
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-16T10:30:00+00:00'
                            updated_at: '2024-01-16T10:30:00+00:00'
                            project_id: 501
                            final_claim: 'false'
                            delivered_on: '2024-01-16'
                            approved_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                            rejected_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                            level_1_approved_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                          - id: 102
                            title: Mobile App Development
                            status: approved
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-17'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 502
                            original_rate:
                              cents: 300000
                              currency: GBP
                            purchase_order_line_id: 502
                            rate:
                              cents: 300000
                              currency: GBP
                            submitted_at: '2024-01-17T10:30:00+00:00'
                            interim_valuation_date: '2024-01-17T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 300000
                              currency: GBP
                            children:
                              - 202
                              - 203
                            parents:
                              - 202
                              - 203
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                            final_claim: 'true'
                            delivered_on: '2024-01-17'
                            approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            rejected_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            level_1_approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                        supplier:
                          id: 101
                          name: Acme Corporation
                          email: user1@example.com
                          vetting_status: PASSED
                          tax_number: Example tax_number
                          tax_registered: true
                        created_at: '2024-01-16T10:30:00+00:00'
                        updated_at: '2024-01-16T10:30:00+00:00'
                        project_matches_count: 5
                        project_line_items:
                          - id: 101
                            name: Acme Corporation
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: service
                            price:
                              cents: 150000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-16T10:30:00+00:00'
                            updated_at: '2024-01-16T10:30:00+00:00'
                            project_id: 501
                          - id: 102
                            name: Global Services Ltd
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: item
                            price:
                              cents: 300000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                        award_criteria_groups:
                          - id: 101
                            name: Acme Corporation
                            group_type: Example group_type
                            weighting: 101
                            has_sub_criteria: true
                            position: 101
                            project_quality_criteria: []
                          - id: 102
                            name: Global Services Ltd
                            group_type: Example group_type
                            weighting: 102
                            has_sub_criteria: true
                            position: 102
                            project_quality_criteria: []
                      - id: 102
                        title: Mobile App Development
                        description: Native iOS and Android application
                        state: new
                        additional_notes: Additional information and context for this record.
                        skill_category:
                          id: 102
                          name: Global Services Ltd
                          code: Example code
                          slug: Example slug
                          precedence: 102
                          parent_id: 502
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_subcategory:
                          id: 102
                          name: Global Services Ltd
                          code: Example code
                          slug: Example slug
                          precedence: 102
                          parent_id: 502
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_category_tier3:
                          id: 102
                          name: Global Services Ltd
                          code: Example code
                          slug: Example slug
                          precedence: 102
                          parent_id: 502
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skills:
                          - id: 102
                            name: Global Services Ltd
                            slug: Example slug
                          - id: 103
                            name: Global Services Ltd
                            slug: Example slug
                        talent_pool_id: 502
                        type: standard
                        posting_type: public
                        bids_count: 10
                        submission_deadline: '2024-01-17T10:30:00+00:00'
                        submission_deadline_time_zone: Europe/London
                        ccy: GBP
                        fee_methodology: tiered_markup
                        fee_schedule_id: 502
                        award_type: direct_award
                        risk_level_id: 502
                        is_template: false
                        quality_score_allocation_percentage: 50
                        cost_score_allocation_percentage: 50
                        award_suppliers:
                          - direct
                          - panel
                        approved: true
                        submitted_at: '2024-01-17T10:30:00+00:00'
                        approved_at: '2024-01-17T10:30:00+00:00'
                        hired_at: '2024-01-17T10:30:00+00:00'
                        start_date: '2024-03-15'
                        due_on: '2024-01-17'
                        original_due_on: '2024-01-17'
                        ended_at: '2024-01-17T10:30:00+00:00'
                        closed_at: '2024-01-17T10:30:00+00:00'
                        auto_close_at: '2024-01-17T10:30:00+00:00'
                        halted_comment: null
                        cancellation_reason_id: 502
                        cancellation_other_reason: null
                        cancelled_by:
                          id: 102
                          first_name: Jane
                          last_name: Smith
                          email: user2@example.com
                          org_id: 502
                          org_name: Global Services Ltd
                        cancelled_at: '2024-01-17T10:30:00+00:00'
                        completed_by:
                          id: 102
                          first_name: Jane
                          last_name: Smith
                          email: user2@example.com
                          org_id: 502
                          org_name: Global Services Ltd
                        closed_by:
                          id: 102
                          first_name: Jane
                          last_name: Smith
                          email: user2@example.com
                          org_id: 502
                          org_name: Global Services Ltd
                        visibility: visible
                        bafo_submission_deadline: '2024-01-17T10:30:00+00:00'
                        bid_round: 102
                        original_project_id: 502
                        location:
                          type: location
                          label: London, UK
                        target_cost:
                          cents: 300000
                          currency: GBP
                        budget:
                          cents: 300000
                          currency: GBP
                        original_budget:
                          cents: 300000
                          currency: GBP
                        rate:
                          cents: 300000
                          currency: GBP
                        original_rate:
                          cents: 300000
                          currency: GBP
                        fee: '1500.00'
                        markup: '1500.00'
                        estimated_savings:
                          cents: 300000
                          currency: GBP
                        projected_recognized_savings:
                          cents: 300000
                          currency: GBP
                        payment_terms_in_days: 30
                        client_payment_terms_in_days: 30
                        permit_supplier_defined_milestones: null
                        supplier_defined_milestones: null
                        client_defined_milestones_mandatory: null
                        invoices_cis: null
                        cis_end_user_client: null
                        is_child: false
                        is_parent: false
                        custom_fields:
                          department: Engineering
                          priority: high
                          cost_code: CC-001
                        badges:
                          - urgent
                          - featured
                        project_screening_questions:
                          - question: Years of experience?
                            required: true
                          - question: Available start date?
                            required: false
                        client:
                          id: 102
                          first_name: Jane
                          last_name: Smith
                          email: user2@example.com
                          org_id: 502
                          org_name: Global Services Ltd
                        administrator:
                          id: 102
                          first_name: Jane
                          last_name: Smith
                          email: user2@example.com
                          org_id: 502
                          org_name: Global Services Ltd
                        client_org:
                          id: 102
                          name: Global Services Ltd
                          is_external_client: true
                        cost_centers:
                          - cost_center_id: 502
                            allocation_percentage: '1500.00'
                            name: Global Services Ltd
                            code: null
                            admin_custom_fields: null
                            project_id: 502
                          - cost_center_id: 503
                            allocation_percentage: '1500.00'
                            name: Global Services Ltd
                            code: null
                            admin_custom_fields: null
                            project_id: 503
                        milestones:
                          - id: 102
                            title: Mobile App Development
                            status: approved
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-17'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 502
                            original_rate:
                              cents: 300000
                              currency: GBP
                            purchase_order_line_id: 502
                            rate:
                              cents: 300000
                              currency: GBP
                            submitted_at: '2024-01-17T10:30:00+00:00'
                            interim_valuation_date: '2024-01-17T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 300000
                              currency: GBP
                            children:
                              - 202
                              - 203
                            parents:
                              - 202
                              - 203
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                            final_claim: 'true'
                            delivered_on: '2024-01-17'
                            approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            rejected_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            level_1_approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                          - id: 103
                            title: Mobile App Development
                            status: rejected
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-18'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 503
                            original_rate:
                              cents: 450000
                              currency: GBP
                            purchase_order_line_id: 503
                            rate:
                              cents: 450000
                              currency: GBP
                            submitted_at: '2024-01-18T10:30:00+00:00'
                            interim_valuation_date: '2024-01-18T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 450000
                              currency: GBP
                            children:
                              - 203
                              - 204
                            parents:
                              - 203
                              - 204
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-18T10:30:00+00:00'
                            updated_at: '2024-01-18T10:30:00+00:00'
                            project_id: 503
                            final_claim: 'false'
                            delivered_on: '2024-01-18'
                            approved_by:
                              id: 103
                              first_name: Jane
                              last_name: Smith
                              email: user3@example.com
                              org_id: 503
                              org_name: Global Services Ltd
                            rejected_by:
                              id: 103
                              first_name: Jane
                              last_name: Smith
                              email: user3@example.com
                              org_id: 503
                              org_name: Global Services Ltd
                            level_1_approved_by:
                              id: 103
                              first_name: Jane
                              last_name: Smith
                              email: user3@example.com
                              org_id: 503
                              org_name: Global Services Ltd
                        supplier:
                          id: 102
                          name: Global Services Ltd
                          email: user2@example.com
                          vetting_status: FAILED
                          tax_number: Example tax_number
                          tax_registered: true
                        created_at: '2024-01-17T10:30:00+00:00'
                        updated_at: '2024-01-17T10:30:00+00:00'
                        project_matches_count: 10
                        project_line_items:
                          - id: 102
                            name: Global Services Ltd
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: item
                            price:
                              cents: 300000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                          - id: 103
                            name: Global Services Ltd
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: service
                            price:
                              cents: 450000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-18T10:30:00+00:00'
                            updated_at: '2024-01-18T10:30:00+00:00'
                            project_id: 503
                        award_criteria_groups:
                          - id: 102
                            name: Global Services Ltd
                            group_type: Example group_type
                            weighting: 102
                            has_sub_criteria: true
                            position: 102
                            project_quality_criteria: []
                          - id: 103
                            name: Global Services Ltd
                            group_type: Example group_type
                            weighting: 103
                            has_sub_criteria: true
                            position: 103
                            project_quality_criteria: []
                empty:
                  summary: Empty result set
                  value:
                    projects: []
                filtered:
                  summary: Filtered results
                  description: Results after applying filters
                  value:
                    projects:
                      - id: 101
                        title: Website Redesign Project
                        description: Complete redesign of corporate website with modern UX
                        state: pending
                        additional_notes: Additional information and context for this record.
                        skill_category:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_subcategory:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skill_category_tier3:
                          id: 101
                          name: Acme Corporation
                          code: Example code
                          slug: Example slug
                          precedence: 101
                          parent_id: 501
                          parent_name: Example parent_name
                          parent_slug: Example parent_slug
                        skills:
                          - id: 101
                            name: Acme Corporation
                            slug: Example slug
                          - id: 102
                            name: Global Services Ltd
                            slug: Example slug
                        talent_pool_id: 501
                        type: standard
                        posting_type: public
                        bids_count: 5
                        submission_deadline: '2024-01-16T10:30:00+00:00'
                        submission_deadline_time_zone: Europe/London
                        ccy: GBP
                        fee_methodology: supplier_absorbed
                        fee_schedule_id: 501
                        award_type: competition
                        risk_level_id: 501
                        is_template: false
                        quality_score_allocation_percentage: 50
                        cost_score_allocation_percentage: 50
                        award_suppliers:
                          - direct
                          - panel
                        approved: true
                        submitted_at: '2024-01-16T10:30:00+00:00'
                        approved_at: '2024-01-16T10:30:00+00:00'
                        hired_at: '2024-01-16T10:30:00+00:00'
                        start_date: '2024-03-08'
                        due_on: '2024-01-16'
                        original_due_on: '2024-01-16'
                        ended_at: '2024-01-16T10:30:00+00:00'
                        closed_at: '2024-01-16T10:30:00+00:00'
                        auto_close_at: '2024-01-16T10:30:00+00:00'
                        halted_comment: null
                        cancellation_reason_id: 501
                        cancellation_other_reason: null
                        cancelled_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        cancelled_at: '2024-01-16T10:30:00+00:00'
                        completed_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        closed_by:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        visibility: visible
                        bafo_submission_deadline: '2024-01-16T10:30:00+00:00'
                        bid_round: 101
                        original_project_id: 501
                        location:
                          type: location
                          label: London, UK
                        target_cost:
                          cents: 150000
                          currency: GBP
                        budget:
                          cents: 150000
                          currency: GBP
                        original_budget:
                          cents: 150000
                          currency: GBP
                        rate:
                          cents: 150000
                          currency: GBP
                        original_rate:
                          cents: 150000
                          currency: GBP
                        fee: '1500.00'
                        markup: '1500.00'
                        estimated_savings:
                          cents: 150000
                          currency: GBP
                        projected_recognized_savings:
                          cents: 150000
                          currency: GBP
                        payment_terms_in_days: 30
                        client_payment_terms_in_days: 30
                        permit_supplier_defined_milestones: null
                        supplier_defined_milestones: null
                        client_defined_milestones_mandatory: null
                        invoices_cis: null
                        cis_end_user_client: null
                        is_child: false
                        is_parent: false
                        custom_fields:
                          department: Engineering
                          priority: high
                          cost_code: CC-001
                        badges:
                          - urgent
                          - featured
                        project_screening_questions:
                          - question: Years of experience?
                            required: true
                          - question: Available start date?
                            required: false
                        client:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        administrator:
                          id: 101
                          first_name: Demo
                          last_name: User
                          email: user1@example.com
                          org_id: 501
                          org_name: Acme Corporation
                        client_org:
                          id: 101
                          name: Acme Corporation
                          is_external_client: true
                        cost_centers:
                          - cost_center_id: 501
                            allocation_percentage: '1500.00'
                            name: Acme Corporation
                            code: null
                            admin_custom_fields: null
                            project_id: 501
                          - cost_center_id: 502
                            allocation_percentage: '1500.00'
                            name: Global Services Ltd
                            code: null
                            admin_custom_fields: null
                            project_id: 502
                        milestones:
                          - id: 101
                            title: Website Redesign Project
                            status: submitted
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-16'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 501
                            original_rate:
                              cents: 150000
                              currency: GBP
                            purchase_order_line_id: 501
                            rate:
                              cents: 150000
                              currency: GBP
                            submitted_at: '2024-01-16T10:30:00+00:00'
                            interim_valuation_date: '2024-01-16T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 150000
                              currency: GBP
                            children:
                              - 201
                              - 202
                            parents:
                              - 201
                              - 202
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-16T10:30:00+00:00'
                            updated_at: '2024-01-16T10:30:00+00:00'
                            project_id: 501
                            final_claim: 'false'
                            delivered_on: '2024-01-16'
                            approved_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                            rejected_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                            level_1_approved_by:
                              id: 101
                              first_name: Demo
                              last_name: User
                              email: user1@example.com
                              org_id: 501
                              org_name: Acme Corporation
                          - id: 102
                            title: Mobile App Development
                            status: approved
                            client_suggested: false
                            close_project: false
                            comments: >-
                              Additional information and context for this
                              record.
                            details: >-
                              Additional information and context for this
                              record.
                            due_on: '2024-01-17'
                            project_summary: >-
                              Website Redesign Project - Complete redesign of
                              corporate website with modern UX
                            mandatory: false
                            notes: >-
                              Additional information and context for this
                              record.
                            original_id: 502
                            original_rate:
                              cents: 300000
                              currency: GBP
                            purchase_order_line_id: 502
                            rate:
                              cents: 300000
                              currency: GBP
                            submitted_at: '2024-01-17T10:30:00+00:00'
                            interim_valuation_date: '2024-01-17T10:30:00+00:00'
                            tiered_markup_fee:
                              cents: 300000
                              currency: GBP
                            children:
                              - 202
                              - 203
                            parents:
                              - 202
                              - 203
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                            final_claim: 'true'
                            delivered_on: '2024-01-17'
                            approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            rejected_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                            level_1_approved_by:
                              id: 102
                              first_name: Jane
                              last_name: Smith
                              email: user2@example.com
                              org_id: 502
                              org_name: Global Services Ltd
                        supplier:
                          id: 101
                          name: Acme Corporation
                          email: user1@example.com
                          vetting_status: PASSED
                          tax_number: Example tax_number
                          tax_registered: true
                        created_at: '2024-01-16T10:30:00+00:00'
                        updated_at: '2024-01-16T10:30:00+00:00'
                        project_matches_count: 5
                        project_line_items:
                          - id: 101
                            name: Acme Corporation
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: service
                            price:
                              cents: 150000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-16T10:30:00+00:00'
                            updated_at: '2024-01-16T10:30:00+00:00'
                            project_id: 501
                          - id: 102
                            name: Global Services Ltd
                            manufacturer_name: Example manufacturer_name
                            manufacturer_part_number: Example manufacturer_part_number
                            uom: null
                            item: null
                            item_type: item
                            price:
                              cents: 300000
                              currency: GBP
                            quantity: '1500.00'
                            net_total_price: null
                            quantity_delivered: null
                            quantity_undelivered: null
                            custom_fields:
                              department: Engineering
                              priority: high
                              cost_code: CC-001
                            created_at: '2024-01-17T10:30:00+00:00'
                            updated_at: '2024-01-17T10:30:00+00:00'
                            project_id: 502
                        award_criteria_groups:
                          - id: 101
                            name: Acme Corporation
                            group_type: Example group_type
                            weighting: 101
                            has_sub_criteria: true
                            position: 101
                            project_quality_criteria: []
                          - id: 102
                            name: Global Services Ltd
                            group_type: Example group_type
                            weighting: 102
                            has_sub_criteria: true
                            position: 102
                            project_quality_criteria: []
        '401':
          description: >-
            Unauthorized - the access token is missing, expired, revoked or
            malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: invalid_token
                error_description: >-
                  The access token provided is expired, revoked, malformed, or
                  invalid for other reasons
        '403':
          description: Forbidden - insufficient scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: insufficient_scope
                error_description: >-
                  The request requires higher privileges than provided by the
                  access token
                required_scope: projects:read
                provided_scopes:
                  - welcome:read
        '422':
          description: Invalid filter or sort parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid_attribute:
                  summary: Unknown filter attribute
                  value:
                    error: 'Invalid filter attribute: unknown_field'
                invalid_operator:
                  summary: Invalid operator for type
                  value:
                    error: Operator 'like' is not valid for integer type
                invalid_value:
                  summary: Invalid value format
                  value:
                    error: 'Invalid date format for created_at: not-a-date'
                invalid_sort_attribute:
                  summary: Unknown sort attribute
                  value:
                    error: 'Invalid sort attribute: unknown_field'
                invalid_sort_direction:
                  summary: Invalid sort direction
                  value:
                    error: Invalid sort direction 'random'. Must be 'asc' or 'desc'
      security:
        - oauth2:
            - projects:read
          tenantId: []
components:
  schemas:
    Project:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        description:
          type: string
        state:
          type: string
          enum:
            - draft
            - pending
            - new
            - halted
            - in_progress
            - work_completed
            - cancelled
            - closed
            - superseded
            - bafo
          example: draft
        additional_notes:
          type: string
        skill_category:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedSkillCategory'
            - type: 'null'
        skill_subcategory:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedSkillCategory'
            - type: 'null'
        skill_category_tier3:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedSkillCategory'
            - type: 'null'
        skills:
          type: array
          items:
            $ref: '#/components/schemas/EmbeddedSkill'
        talent_pool_id:
          type: integer
        type:
          type: string
        posting_type:
          type: string
        bids_count:
          type: integer
        submission_deadline:
          type: string
        submission_deadline_time_zone:
          type: string
        ccy:
          type: string
        fee_methodology:
          type: string
          enum:
            - markup
            - supplier_absorbed
            - tiered_markup
            - supplier_absorbed_itemized
            - markup_itemized
          example: markup
        fee_schedule_id:
          type: integer
        award_type:
          type: string
          enum:
            - direct_award
            - competition
          example: direct_award
        risk_level_id:
          type: integer
        is_template:
          type: boolean
          example: true
        quality_score_allocation_percentage:
          type: string
        cost_score_allocation_percentage:
          type: string
        award_suppliers:
          type: array
          items:
            type: string
        approved:
          type: boolean
          example: true
        submitted_at:
          type: string
        approved_at:
          type: string
        hired_at:
          type: string
        start_date:
          type: string
        due_on:
          type: string
        original_due_on:
          type: string
        ended_at:
          type: string
        closed_at:
          type: string
        auto_close_at:
          type: string
        halted_comment:
          type: string
        cancellation_reason_id:
          type: integer
        cancellation_other_reason:
          type: string
        cancelled_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        cancelled_at:
          type: string
        completed_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        closed_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        visibility:
          type: string
        bafo_submission_deadline:
          type: string
        bid_round:
          type: integer
        original_project_id:
          type: integer
        location:
          $ref: '#/components/schemas/EmbeddedLocation'
        target_cost:
          $ref: '#/components/schemas/Money'
        budget:
          $ref: '#/components/schemas/Money'
        original_budget:
          $ref: '#/components/schemas/Money'
        rate:
          $ref: '#/components/schemas/Money'
        original_rate:
          $ref: '#/components/schemas/Money'
        fee:
          type: string
        markup:
          type: string
        estimated_savings:
          $ref: '#/components/schemas/Money'
        projected_recognized_savings:
          $ref: '#/components/schemas/Money'
        payment_terms_in_days:
          type: integer
        client_payment_terms_in_days:
          type: integer
        permit_supplier_defined_milestones:
          type: string
        supplier_defined_milestones:
          type: string
        client_defined_milestones_mandatory:
          type: string
        invoices_cis:
          type: string
        cis_end_user_client:
          type: string
        is_child:
          type: boolean
          example: true
        is_parent:
          type: boolean
          example: true
        custom_fields:
          type: object
          additionalProperties:
            type: string
          description: Key-value pairs of custom field data
        badges:
          type: array
          items:
            type: string
        project_screening_questions:
          type: string
        client:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        administrator:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        client_org:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedOrg'
            - type: 'null'
        cost_centers:
          type: array
          items:
            $ref: '#/components/schemas/EmbeddedProjectCostCenter'
        milestones:
          type: array
          items:
            $ref: '#/components/schemas/Milestone'
        supplier:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedSupplier'
            - type: 'null'
        created_at:
          type: string
        updated_at:
          type: string
        project_matches_count:
          type: integer
        project_line_items:
          type: array
          items:
            $ref: '#/components/schemas/ProjectLineItem'
        award_criteria_groups:
          type: array
          items:
            $ref: '#/components/schemas/EmbeddedAwardCriteriaGroup'
    Error:
      type: object
      description: Error envelope returned by every non-2xx V4 response
      properties:
        error:
          type: string
          example: insufficient_scope
        error_description:
          type: string
        message:
          type: string
        details:
          type: object
          additionalProperties: true
        required_scope:
          type: string
          example: projects:read
        provided_scopes:
          type: array
          items:
            type: string
    EmbeddedSkillCategory:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        code:
          type: string
        slug:
          type: string
        precedence:
          type: integer
        parent_id:
          type: integer
        parent_name:
          type: string
        parent_slug:
          type: string
    EmbeddedSkill:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        slug:
          type: string
    EmbeddedUser:
      type: object
      properties:
        id:
          type: integer
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        org_id:
          type: integer
        org_name:
          type: string
    EmbeddedLocation:
      type: object
      properties:
        type:
          type: string
        code:
          type: string
        name:
          type: string
        address:
          oneOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
    Money:
      type: object
      properties:
        cents:
          type: integer
          example: 150000
        currency:
          type: string
          example: GBP
    EmbeddedOrg:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        is_external_client:
          type: boolean
          example: true
    EmbeddedProjectCostCenter:
      type: object
      properties:
        cost_center_id:
          type: integer
        allocation_percentage:
          type: string
        name:
          type: string
        code:
          type: string
        admin_custom_fields:
          type: object
          additionalProperties:
            type: string
          description: Key-value pairs of custom field data
        project_id:
          type: integer
    Milestone:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        status:
          type: string
          enum:
            - open
            - submitted
            - approved
            - rejected
            - change_requested
            - on_hold
            - draft
            - cancelled
            - level_1_approved
            - closed
          example: open
        client_suggested:
          type: boolean
          example: true
        close_project:
          type: boolean
          example: true
        comments:
          type: string
        details:
          type: string
        due_on:
          type: string
        project_summary:
          type: string
        mandatory:
          type: boolean
          example: true
        notes:
          type: string
        original_id:
          type: integer
        original_rate:
          $ref: '#/components/schemas/Money'
        purchase_order_line_id:
          type: integer
        rate:
          $ref: '#/components/schemas/Money'
        submitted_at:
          type: string
        interim_valuation_date:
          type: string
        tiered_markup_fee:
          $ref: '#/components/schemas/Money'
        children:
          type: array
          items:
            type: integer
          description: Array of IDs
        parents:
          type: array
          items:
            type: integer
          description: Array of IDs
        custom_fields:
          type: object
          additionalProperties:
            type: string
          description: Key-value pairs of custom field data
        created_at:
          type: string
        updated_at:
          type: string
        project_id:
          type: integer
        final_claim:
          type: boolean
          example: true
        delivered_on:
          type: string
        approved_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        rejected_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
        level_1_approved_by:
          oneOf:
            - $ref: '#/components/schemas/EmbeddedUser'
            - type: 'null'
    EmbeddedSupplier:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        email:
          type: string
        vetting_status:
          type: string
          enum:
            - NOT REGISTERED
            - PASSED
            - FAILED
            - PENDING
          example: NOT REGISTERED
        tax_number:
          type: string
        tax_registered:
          type: boolean
          example: true
    ProjectLineItem:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        manufacturer_name:
          type: string
        manufacturer_part_number:
          type: string
        uom:
          type: string
        item:
          type: string
        item_type:
          type: string
          enum:
            - item
            - service
          example: item
        price:
          $ref: '#/components/schemas/Money'
        quantity:
          type: string
        net_total_price:
          type: string
        quantity_delivered:
          type: string
        quantity_undelivered:
          type: string
        custom_fields:
          type: object
          additionalProperties:
            type: string
          description: Key-value pairs of custom field data
        created_at:
          type: string
        updated_at:
          type: string
        project_id:
          type: integer
    EmbeddedAwardCriteriaGroup:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        group_type:
          type: string
        weighting:
          type: integer
        has_sub_criteria:
          type: boolean
          example: true
        position:
          type: integer
        project_quality_criteria:
          type: array
          items:
            $ref: '#/components/schemas/EmbeddedProjectQualityCriterium'
    Address:
      type: object
      properties:
        id:
          type: integer
        line1:
          type: string
        line2:
          type: string
        city:
          type: string
        region:
          type: string
        postcode:
          type: string
        country_code:
          type: string
        formatted:
          type: string
    EmbeddedProjectQualityCriterium:
      type: object
      properties:
        id:
          type: integer
        description:
          type: string
        weighting:
          type: integer
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth 2.0 client credentials. The access token from POST /oauth/token is
        sent as a bearer token. Request only the scopes you need.
      flows:
        clientCredentials:
          tokenUrl: https://api.zivio.net/api/v4/oauth/token
          scopes:
            bank_accounts:read: Read bank account details on suppliers and the org.
            catalogs:read: Read catalog items.
            cost_centers:read: Read cost center records.
            eoi_responses:read: Read responses to expressions of interest.
            eois:read: Read expressions of interest.
            offers:read: Read offers for projects.
            org_units:read: Read your organization unit hierarchy.
            org_users:read: Read members of your organization.
            resources:read: Read resource (worker) records.
            sales_invoices:read: Read invoices issued to clients.
            sales_milestones:read: Read milestones on sales engagements.
            skill_categories:read: Read the skill category taxonomy.
            skill_taxonomies:read: Read skill taxonomy structure.
            skills:read: Read individual skills.
            supplier_documents:read: Read documents uploaded by suppliers.
            supplier_lists:read: Read curated lists of suppliers.
            supplier_users:read: Read users belonging to supplier organizations.
            tax_types:read: Read configured tax types.
            users:read: Read user profiles.
            variation_orders:read: Read variation orders on projects.
            welcome:read: 'Required: confirms your identity to the application.'
            bid_evaluations:read: >-
              Read evaluation scorecards for bids, including criterion scores
              and quality, cost and total scores.
            bid_evaluations:write: >-
              Score bids against a project's quality criteria and override
              calculated cost scores.
            bids:read: Read bids submitted on projects.
            bids:write: >-
              Shortlist, select, eliminate and reinstate bids submitted on
              projects.
            invoices:read: Read invoices on projects.
            invoices:write: Create and update invoices.
            notes:read: Read notes on projects and EOIs.
            notes:write: Create and update notes on projects and EOIs.
            project_approvals:read: Read project approval workflows.
            project_approvals:write: Create and update project approval workflows.
            project_conversations:read: Read messages exchanged with suppliers on a project.
            project_conversations:write: Send messages to suppliers on a project.
            project_invitations:read: Read supplier invitations on projects.
            project_invitations:write: Invite suppliers to bid on projects.
            project_questions:read: Read supplier clarification questions on projects.
            project_questions:write: Answer and approve supplier clarification questions.
            projects:read: Read projects.
            projects:write: Create and update projects.
            milestones:read: Read milestones on projects.
            milestones:write: Create and update milestones.
            orgs:read: Read organization records.
            orgs:write: Create and update organization records.
            purchase_orders:read: Read purchase orders.
            purchase_orders:write: Create and update purchase orders.
            reviews:read: Read reviews left on suppliers.
            reviews:write: Create and update reviews.
            suppliers:read: Read supplier profiles.
            suppliers:write: Create and update supplier profiles.
            raw_scorecard_entries:write: Create and update raw scorecard entries.
            raw_scorecard_entries:read: Read raw scorecard entries.
            tasks:read: >-
              Read the acting user's task queue, including outstanding approvals
              and items to review.
            tasks:write: Complete and dismiss tasks in the acting user's task queue.
            act_as_user: >-
              Make requests as another user within the token holder's delegation
              boundary.
    tenantId:
      type: apiKey
      name: zivio-tenant-id
      in: header
      description: >-
        Your Zivio organisation identifier. The regional API endpoints serve
        every Zivio organisation, so each request must identify yours.

````