---
title: "Project"
permalink: "/docs/api-v2/project"
original_source: "openapi-spec/api-v2.yaml"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

# Project

## Project

Operations about projects.

### Get a list of projects

`GET /projects`

Operation ID: `list-projects`

This endpoint requires the following permission(s): <code>project_configuration:projects:read</code>. This endpoint belongs to the <strong>Project Configuration</strong> domain, which has a default rate limit of <strong>60 requests per minute</strong>.

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `starting_after` | query | no | Pagination cursor. Pass the id of the last item from the previous page to fetch the next page; omit for the first page. |
| `limit` | query | no | Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected. |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. Always has the value `list`. One of: `list` |
| `items` | array of Project | yes | Details about each object. |
| `next_page` | string | yes | URL to access the next page of the projects. If not present / null, there is no next page |
| `url` | string | yes | The URL where this list can be accessed. |

<details><summary><code>items</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `project` |
| `id` | string | yes | The id of the project |
| `name` | string | yes | The name of the project |
| `created_at` | integer | yes | The date when the project was created in ms since epoch |
| `icon_url` | string | no | The URL of the project's icon (small size) |
| `icon_url_large` | string | no | The URL of the project's icon (large size) |

</details>
### Creates a new project

`POST /projects`

Operation ID: `create-project`

This endpoint requires the following permission(s): <code>project_configuration:projects:read_write</code>. This endpoint belongs to the <strong>Project Configuration</strong> domain, which has a default rate limit of <strong>60 requests per minute</strong>.

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the project |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `409` — Conflict
- `422` — Unprocessable entity
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `project` |
| `id` | string | yes | The id of the project |
| `name` | string | yes | The name of the project |
| `created_at` | integer | yes | The date when the project was created in ms since epoch |
| `icon_url` | string | no | The URL of the project's icon (small size) |
| `icon_url_large` | string | no | The URL of the project's icon (large size) |

