---
title: "List projects"
method: GET
path: "/api/projects"
tags: ["Project"]
---

# List projects

`GET /api/projects`

Retrieve a paginated list of projects the user has access to within the organisation.

## Query parameters

- `search` string
- `all` union
  - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
  - boolean
- `deleted` union
  - 'true' | 'false' | 'True' | 'False' | 'TRUE' | 'FALSE'
  - boolean
- `page` number
- `perPage` number

## Response `200`

Paginated list of projects

- object — Paginated list of projects
  - `results` object[], required — List of projects
    - `id` string, uuid, required — Unique identifier of the project
    - `name` string, required — Name of the project
    - `key` string — Unique key identifier for the project
    - `organisationId` string, uuid, required — Organisation ID the project belongs to
    - `version` 'v1' | 'v2', required — Project version (v1 or v2)
    - `createdAt` string, required — Timestamp when the project was created
    - `updatedAt` string, required — Timestamp when the project was last updated
    - `protected` boolean — Whether the project is protected from deletion
    - `deletedAt` string, nullable — Timestamp when the project was soft deleted
    - `decisionsApprovalMode` 'require_one_per_team' | 'none_create_request' | 'require_any' | 'none' | 'null', nullable — Approval mode for decisions
    - `decisionsApprovalGroups` object[] — Groups required for decision approvals
      - `id` string, uuid, required — Unique identifier of the group
      - `name` string, required — Name of the group
      - `description` string — Description of the group
      - `projectId` string, uuid, required — Project ID the group belongs to
      - `roleId` string, uuid — Role ID associated with the group
    - `members` object[] — List of project members
      - `id` string, uuid, required — Member ID
      - `owner` boolean, required — Whether the member is an owner
      - `user` object, required — User details
        - `id` string, uuid, required — User ID
        - `email` string, email, required — User email address
        - `firstName` string, nullable, required — User first name
        - `lastName` string, nullable, required — User last name
  - `paginate` object, required — Pagination metadata
    - `current` number, required — Current page number
    - `from` number, required — Starting record number
    - `to` number, required — Ending record number
    - `total` number, required — Total number of records
    - `pageSize` number, required — Number of records per page

---

[API](https://skmtc.net/gorules/apis/gorules-agent-api.md) · [All operations](https://skmtc.net/gorules/apis/gorules-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gorules/gorules-agent-api/versions/52c0773fcd80/schema)
