---
title: "Get a project"
method: GET
path: "/projects/{projectId}"
tags: ["Projects"]
---

# Get a project

`GET /projects/{projectId}`

## Request

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

Gets a project's name, key and repositories. With `fields=settings` the response also carries the advanced settings the project stores in its own right, in the shape `POST /projects/{projectId}` accepts. Settings inherited from the organization, configuration generated by the configuration sync, and secret values (webhook auth headers, AI provider keys and credentials) are not returned.

## Query parameters

- `fields` 'settings'

## Response `200`

OK

- object
  - `id` string
  - `name` string
  - `key` string: Human-readable project key used in item keys (e.g. KX-PROJ-1)
  - `repositories` object[]
    - `url` string
    - `mainRef` string
    - `releaseRef` string
    - `browseUrl` string, nullable: Console URL for hosts whose clone URL cannot be browsed (Oracle DevOps code repositories).
    - `hasAuth` boolean
  - `settings` object: Present only with `fields=settings`. Advanced setting names as keys and a JSON value for each setting.

## Other responses

- `400`: The request is not valid.
- `401`: The requester is not authenticated.
- `403`: The requester is unauthorized.
- `404`: The resource was not found.

---

[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)
