---
title: "Get namespace projects"
method: GET
path: "/v1/namespaces/{id}/projects"
tags: ["Namespace", "Project"]
---

# Get namespace projects

`GET /v1/namespaces/{id}/projects`

Return a cursor-paginated page of projects that belong to the namespace.

## Query parameters

- `page_size` integer
- `page_token` string

## Response `200`

OK

- ProjectPage
  - `items` Project[], required
    - `id` string, required — Unique identifier of the project.
    - `key` string, required — Key of the project.
    - `name` string, required — Name of the project.
    - `description` string, nullable — Description of the project.
    - `logo` string, uri, nullable — Logo of the project.
    - `status` 'active' | 'pending', required — Status of the project.
    - `teams` string[], required — IDs of the teams in the project.
    - `document_count` integer, nullable — Number of documents that belong to the project when projected.
    - `issue_count` integer, nullable — Number of issues that belong to the project when projected.
    - `created_at` string, date-time, required — Date when the project was created.
    - `updated_at` string, date-time, nullable, required — Date when the project was updated.
  - `page_info` PageInfo, required — Cursor pagination metadata for a page of results.
    - `next_page_token` string, nullable — Opaque token for the next page. Omitted when has_more is false.
    - `has_more` boolean, required — Whether more results are available.
    - `total_count` integer, nullable — Optional total count when requested by the server.

## Other responses

- `400` — Bad request
- `401` — Unauthorized request
- `403` — Forbidden
- `404` — The requested resource not found
- `500` — Internal Server Error

## Changes

- **2026-08-16** `6965ecf3ab92` — 1 breaking, 2 warning, 4 info
  - the response's body type changed from `array` to `object` for status `200`
  - deleted the `query` request parameter `limit`
  - deleted the `query` request parameter `offset`
  - added the new optional `query` request parameter `page_size`
  - …3 more
- **2026-08-07** `6ff580b1e226` — 1 breaking, 5 info
  - the `items/documents/items/` response's property type changed from `string` to `object` for status `200`
  - added the optional property `items/documents/items/created_at` to the response with the `200` status
  - added the optional property `items/documents/items/excerpt` to the response with the `200` status
  - added the required property `items/documents/items/created_by` to the response with the `200` status
  - …2 more
- **2026-08-06** `775e3ad46e61` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/opcotech/apis/elemo-api/changes/v1/namespaces/:id/projects/get.md)

---

[API](https://skmtc.dev/opcotech/apis/elemo-api.md) · [All operations](https://skmtc.dev/opcotech/apis/elemo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/opcotech/elemo-api/revisions/79a22e0df7c8/schema)
