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
GET /api/v1/projectsEvery 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. |
curl https://app.mirafive.io/api/v1/projects \
-H "Authorization: Bearer $MIRAFIVE_API_KEY"{
"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
GET /api/v1/projects/{project_id}One project, with the same attributes as in the list. It takes no query parameters except sparse fieldsets.
curl https://app.mirafive.io/api/v1/projects/01932c4e-8a7b-7c3d-9e2f-4b5a6c7d8e9f \
-H "Authorization: Bearer $MIRAFIVE_API_KEY"{
"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. A project outside your organizations, an unknown id and a slug all get 404.