---
title: "List projects (cursor-paginated; ?search=)"
method: GET
path: "/projects"
tags: ["Projects"]
---

# List projects (cursor-paginated; ?search=)

`GET /projects`

Projects are managed **from the parent**: every `/projects/*`
endpoint acts on the API key's own (parent) org and ignores the
`x-origami-project` header. Newest first; a parent with no
projects gets an empty page — "you have no projects" is not an
error.

## Query parameters

- `cursor` string
- `limit` integer
- `search` string

## Response `200`

A page of projects in the canonical list envelope.

- object — The canonical v2 list envelope. Every list endpoint returns this shape; per-endpoint `items` element types (and documented extras like `total`) are declared on each operation.
  - `object` 'list', required
  - `items` Project[], required — The page of objects. Element type is per-endpoint.
    - `object` 'project', required
    - `id` string, uuid, required
    - `name` string, required
    - `monthlyCredits` number, nullable, required — Monthly budget cap in credits, or `null` when uncapped.
    - `usage` object, required — This billing period's settled spend plus live in-flight reservations attributed to the project, in credits — the same numbers the in-app Teams page shows.
      - `spent` number, required — Settled charges this billing period, in credits.
      - `reserved` number, required — Live reservations held by in-flight work right now, in credits.
    - `createdAt` string, date-time, required
  - `nextCursor` string, nullable, required — Cursor for the next page; `null` means this is the last page.
  - `url` string, required — The path this list was fetched from (query string excluded).

---

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