# Projects

Source: https://docs.mirafive.io/rest-api/projects

> List the MIRA FIVE projects your API key can read and get one project's timezone, currency, plan and retention.

A project is what a dashboard belongs to, and the boundary of its data: its own events, people and goals. List the projects to get the `project_id` every other endpoint takes, and each project's timezone, reporting currency and how far back its reports read.

## List projects

```text
GET /api/v1/projects
```

Every project in every organization you belong to, archived ones included, oldest first, 50 per page.

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `cursor` | string | none | `meta.nextCursor` of the previous page. See [Pagination](https://docs.mirafive.io/rest-api#pagination). |

```bash
curl https://app.mirafive.io/api/v1/projects \
  -H "Authorization: Bearer $MIRAFIVE_API_KEY"
```

```json title="200 OK"
{
  "data": [
    {
      "id": "01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f",
      "type": "projects",
      "attributes": {
        "name": "Nordlicht Shop",
        "slug": "nordlicht-shop",
        "timezone": "Europe/Berlin",
        "reportingCurrency": "EUR",
        "archived": false,
        "createdAt": "2025-11-04T09:12:44.318+01:00",
        "organization": {
          "id": "01932c4d-1f2e-7a3b-8c4d-5e6f7a8b9c0d",
          "slug": "nordlicht",
          "name": "Nordlicht GmbH"
        },
        "plan": "pro",
        "retentionDays": 366
      },
      "links": {
        "self": "https://app.mirafive.io/api/v1/projects/01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f"
      }
    },
    {
      "id": "0195a1b2-3c4d-7e5f-8a6b-7c8d9e0f1a2b",
      "type": "projects",
      "attributes": {
        "name": "Nordlicht Journal",
        "slug": "nordlicht-journal",
        "timezone": "Europe/Berlin",
        "reportingCurrency": "EUR",
        "archived": false,
        "createdAt": "2026-03-02T15:40:09.027+01:00",
        "organization": {
          "id": "01932c4d-1f2e-7a3b-8c4d-5e6f7a8b9c0d",
          "slug": "nordlicht",
          "name": "Nordlicht GmbH"
        },
        "plan": "pro",
        "retentionDays": 366
      },
      "links": {
        "self": "https://app.mirafive.io/api/v1/projects/0195a1b2-3c4d-7e5f-8a6b-7c8d9e0f1a2b"
      }
    }
  ],
  "links": {
    "self": "https://app.mirafive.io/api/v1/projects",
    "next": null
  },
  "meta": {
    "perPage": 50,
    "nextCursor": null
  }
}
```

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | The `project_id` for every other endpoint. A UUID. |
| `attributes.name` | string | The project's name. |
| `attributes.slug` | string | The slug in dashboard URLs. The API does not take it. |
| `attributes.timezone` | string | IANA timezone. Days, weeks and months are cut in it, and every timestamp is written in it. |
| `attributes.reportingCurrency` | string | `EUR`, `USD`, `GBP` or `CHF`. Revenue in other currencies is listed apart. |
| `attributes.archived` | boolean | An archived project keeps its data but receives no events. |
| `attributes.createdAt` | string or null | When the project was created. |
| `attributes.organization` | object | `id`, `slug` and `name` of the organization it belongs to. |
| `attributes.plan` | string | The organization's plan: `free`, `pro` or `enterprise`. |
| `attributes.retentionDays` | integer | How many days of history the plan keeps: 30, 366 or 1,095. Periods reaching further back are shortened. |
| `links.self` | string | This project's URL in the API. |
| `meta.perPage` | integer | Always 50. |
| `meta.nextCursor` | string or null | The next page's cursor, `null` on the last page. |

## Get a project

```text
GET /api/v1/projects/{project_id}
```

One project, with the same attributes as in the list. It takes no query parameters except [sparse fieldsets](https://docs.mirafive.io/rest-api#sparse-fieldsets).

```bash
curl https://app.mirafive.io/api/v1/projects/01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f \
  -H "Authorization: Bearer $MIRAFIVE_API_KEY"
```

```json title="200 OK"
{
  "data": {
    "id": "01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f",
    "type": "projects",
    "attributes": {
      "name": "Nordlicht Shop",
      "slug": "nordlicht-shop",
      "timezone": "Europe/Berlin",
      "reportingCurrency": "EUR",
      "archived": false,
      "createdAt": "2025-11-04T09:12:44.318+01:00",
      "organization": {
        "id": "01932c4d-1f2e-7a3b-8c4d-5e6f7a8b9c0d",
        "slug": "nordlicht",
        "name": "Nordlicht GmbH"
      },
      "plan": "pro",
      "retentionDays": 366
    },
    "links": {
      "self": "https://app.mirafive.io/api/v1/projects/01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f"
    }
  }
}
```

The fields are those of [List projects](#list-projects). A project outside your organizations, an unknown id and a slug all get `404`.
