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

# List projects

`GET /v1/projects`

Returns every project in the organization. The response uses the standard paginated shape; the project list currently fits in a single page (`nextCursor` is always `null`).

## Response `200`

List of projects

- PaginatedProjects
  - `items` Project[], required — Page of items, in the requested sort order.
    - `id` string, required — Stable project identifier (CUID2).
    - `organizationId` string, required — Organization that owns this project.
    - `name` string, required — Human-readable name.
    - `slug` string, required — URL-safe slug derived from `name`. Regenerated when the name changes in a way that affects the slug form.
    - `settings` ProjectSettings, nullable, required — Per-project settings overrides. `null` means inherit from the organization.
      - `keepMonitoring` boolean — When `true`, the evaluation linked to an issue keeps running after the issue is resolved. When `false`, resolving the issue stops the evaluation. Defaults to `true` when omitted.
      - `notifications` NotificationsSetting — Per-group project-level notification toggles. Today only `incidents` exists; future groups (wrapped reports, etc.) slot in alongside.
        - `incidents` IncidentNotificationsSetting — Per-alert-kind opt-out for incident notifications.
          - `issue.new` boolean — Send a notification when a new issue is discovered. Defaults to `true` when omitted.
          - `issue.regressed` boolean — Send a notification when a previously-resolved issue regresses. Defaults to `true` when omitted.
          - `issue.escalating` boolean — Send a notification when an active issue is escalating in volume or severity. Defaults to `true` when omitted.
      - `escalation` EscalationSetting — Tuning parameters for the escalation detector. Affects detector behaviour regardless of whether notifications are enabled.
        - `sensitivity` integer — Sensitivity of the escalation detector, 1 (most sensitive, more incidents) to 6 (least sensitive, fewer incidents). Defaults to a balanced value when omitted.
    - `firstTraceAt` string, nullable, required — ISO-8601 timestamp of the first ingested trace. `null` until the first trace lands.
    - `deletedAt` string, nullable, required — ISO-8601 timestamp at which the project was deleted. `null` while the project is active.
    - `lastEditedAt` string, required — ISO-8601 timestamp of the most recent name/settings edit.
    - `createdAt` string, required — ISO-8601 timestamp of creation.
    - `updatedAt` string, required — ISO-8601 timestamp of the last metadata change.
  - `nextCursor` string, nullable, required — Opaque cursor for fetching the next page. `null` when there are no more pages. Pass it back in `cursor` to continue.
  - `hasMore` boolean, required — `true` when there is at least one more page after this one.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.dev/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.dev/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latitude-dev/latitude/revisions/fc0da553a950/schema)
