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

# Retrieve a project

`GET /projects/{projectId}`

## Request

- Base URL: `https://elicit.com/api/v2`
- URL: `https://elicit.com/api/v2/projects/{projectId}`
- Auth: HTTP bearer

Retrieves a project by id. Available to the owner and to anyone it is shared with; `role` says which you are.

### Example

```bash
curl https://elicit.com/api/v2/projects/{projectId} \
  -H "Authorization: Bearer elk_live_your_key_here"
```

## Path parameters

- `projectId` string, uuid, required: The project ID (UUID) from `GET /projects` or `POST /projects`

## Response `200`

The project.

- Project
  - `id` string, uuid, required: The project ID (UUID) from `GET /projects` or `POST /projects`
  - `name` string, required: Project name.
  - `goal` string, required: The project's stated goal; empty string when none was set.
  - `role` 'owner' | 'writer' | 'reader', required: Your access level on this project. `owner`: you created it, and you alone can share it. `writer`: you can add and remove its contents. `reader`: you can view it.
  - `owner` object, required: Who owns the project. On your own projects, that is you.
    - `email` string, required
    - `fullName` string, nullable, required
  - `createdAt` string, required
  - `updatedAt` string, required: Last change to the project or its contents. Lists are ordered by this, newest first.
  - `url` string, required: URL to open this project in the Elicit web interface.
  - `links` object, required
    - `self` string, required: API URL of this project.
    - `shares` string, required: API URL of this project's shares.

## Other responses

- `400`: A malformed id, or an unknown or invalid query parameter or body key.
- `401`: Authentication failed. The API key is missing, invalid, revoked, or expired.
- `403`: API access is not available on your current plan. Upgrade to Pro or above to use the API.
- `404`: The project does not exist, or is not visible to you at the access this call needs.
- `429`: Rate limit exceeded. More than 100 requests per minute were received from your IP address; further requests are blocked for 5 minutes.
- `500`: An unexpected error occurred. Retry reads with backoff; before retrying a write, check whether it took effect. See Error Handling for retry guidance.

## Changes

- **2026-10-13** `27c80b9a3470`: 5 info
  - added the optional property `error/details` to the response with the `400` status
  - added the optional property `error/details` to the response with the `401` status
  - added the optional property `error/details` to the response with the `403` status
  - added the optional property `error/details` to the response with the `404` status
  - …1 more
- **2026-09-27** `9b5b75b828ab`: 5 info
  - added the optional property `error/sessionId` to the response with the `400` status
  - added the optional property `error/sessionId` to the response with the `401` status
  - added the optional property `error/sessionId` to the response with the `403` status
  - added the optional property `error/sessionId` to the response with the `404` status
  - …1 more
- **2026-09-24** `282a68222364`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elicit/apis/elicit-api/changes/projects/:projectId/get.md)

---

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