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

# List projects

`GET /api/v1/projects`

## Request

- Base URL: `https://pineprompt.com`
- URL: `https://pineprompt.com/api/v1/projects`
- Auth: HTTP bearer

Returns every project belonging to the active organization. The response is paginated.

## Query parameters

- `page` integer
- `per_page` integer
- `sort_by` 'created_at' | 'updated_at' | 'name'
- `sort_order` 'asc' | 'desc'
- `include` string

## Response `200`

OK

- ProjectList
  - `data` Project[]
    - `id` integer: The unique ID of the project.
    - `organization_id` integer: The ID of the organization that owns the project.
    - `name` string: The display name of the project.
    - `brand_id` integer, nullable: The ID of the project's own brand, or null while none has been designated.
    - `organization` Organization: An organization is the top-level billing entity and tenant boundary in Pineprompt. Every project, member, and API key belongs to exactly one organization.
      - `id` integer: The unique ID of the organization.
      - `name` string: The display name of the organization.
      - `created_at` string, date-time: When the organization was created.
      - `updated_at` string, date-time: When the organization was last updated.
    - `created_at` string, date-time: When the project was created.
    - `updated_at` string, date-time: When the project was last updated.
  - `links` PaginationLinks
    - `first` string, nullable
    - `last` string, nullable
    - `prev` string, nullable
    - `next` string, nullable
  - `meta` PaginationMeta
    - `current_page` integer
    - `from` integer, nullable
    - `last_page` integer
    - `path` string
    - `per_page` integer
    - `to` integer, nullable
    - `total` integer
    - `links` PaginationLink[]: The page-link rows, in display order from the first page through the last. The set always opens with a previous link and closes with a next link.
      - `url` string, nullable: The URL for this link, or `null` for the disabled previous and next boundaries.
      - `label` string: The label for this link, either a page number or a localized previous or next caption.
      - `page` integer, nullable: The page number this link points to, or `null` for the disabled previous and next boundaries.
      - `active` boolean: Whether this link is the page currently being returned.

## Other responses

- `401`: Unauthorized
- `403`: Missing ability
- `422`: Validation failed

---

[API](https://skmtc.dev/pineprompt/apis/pineprompt-api.md) · [All operations](https://skmtc.dev/pineprompt/apis/pineprompt-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pineprompt/apis/pineprompt-api/revisions/05dbb5241a27?raw)
