---
title: "Read all items in a project"
method: GET
path: "/projects/{projectId}/items"
tags: ["Items"]
---

# Read all items in a project

`GET /projects/{projectId}/items`

## Request

- Base URL: `https://app.ketryx.com/api/v1`
- URL: `https://app.ketryx.com/api/v1/projects/{projectId}/items`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/ketryx/apis/ketryx-api/docs/projects/:projectId/items/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `projectId` string, required: Ketryx ID of the project to query items for

## Query parameters

- `startAt` integer: Index to start at. Defaults to 0.
- `maxResults` integer: Maximum number of results to return

## Response `200`

Successful response

- object
  - `startAt` integer, required: Index that the pagination started at
  - `maxResults` integer, required: Maximum number of results returned
  - `items` object[], required: List of items
    - `id` string, required: Ketryx ID of this item
    - `key` string, nullable, required: Ketryx item key (e.g. KX-PROJ-1)
    - `externalIds` object[], required: Item IDs in external systems
      - `system` 'Ketryx' | 'GHSA' | 'NVD' | 'Build' | 'Git' | 'Jira' | 'JiraDataCenter' | 'Confluence' | 'ADO' | 'TestRail' | 'Polarion' | 'Jama' | 'Linear' | 'QMetry' | 'API' | 'CSV', required: External system this ID is coming from
      - `id` string, required: Unique ID in the external system
      - `key` string, required: Key of the item in the external system (e.g., its Jira issue key) or the ID, if no key is available
      - `projectId` string: Project ID in the external system
      - `url` string: URL to the external system
    - `createdAt` string, date-time, required: Item creation date and time
    - `isExcluded` boolean, required: Whether this item has been marked as excluded from tracking in Ketryx
    - `folderPath` string[], nullable, required: Path of folder containing this document item (if any)
    - `currentRecord` object, nullable, required: Current record of this item
      - `id` string, required
    - `controlledRecord` object, nullable, required: Latest controlled record of this item
      - `id` string, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `500`: Internal server error

---

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