# List administered projects

Canonical page: https://docs.ovok.com/api/projects/list-administered-projects

`GET /v1/projects`

Lists every project you administer, with the tenant code you need to switch to it. Every other `/v1/projects` route answers about the single project of your token; use this one to build a project picker.

**Auth:** bearer token. The caller must be a Practitioner, a project admin, or hold the System Owner access policy. You do not need to be an admin of your current project.
**Scope:** your own user's Practitioner memberships across all projects, kept only where the membership is an admin one.

## Behaviour

- One row per project, in membership order, even when you hold two memberships on one project.
- `page` (from 0, default 0) and `count` (1 to 100, default 20) page over the projects. `total` counts the projects you administer, not your memberships.
- `tenantCode` is `null` for a project that has none. `name` is `null` when the project can no longer be read; the row is kept.
- `isMainProject` is `true` for a project with no parent, `false` for a child, and `null` when the hierarchy could not be read.
- `parentProjectId` is set only when the parent is also a project you administer; otherwise it is `null`.
- To switch, pass `tenantCode` to `POST /v1/auth/tenant/Practitioner/login/token`.

## Example

```bash
curl -X GET 'https://api.sandbox.ovok.com/v1/projects?page=0&count=20' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'
```
