# List clients

Source: https://www.tracktimer.app/docs/list-clients

Discover active workspace clients according to the API key owner’s role.

`GET /api/v1/clients`

Required scope: `clients:read`

Owners and admins receive all active clients in the bound workspace, including empty clients. Other members receive clients with at least one active assigned project. Archived clients are excluded. Results sort by client name.

## Request

Requires bearer authentication and `clients:read`. No query parameters or body are needed. This list is not paginated.

```sh
curl "https://www.tracktimer.app/api/v1/clients" \
  --header "Authorization: Bearer $TRACKTIMER_API_KEY"
```

## Response — 200

- `clients`: array, possibly empty.
- `clients[].id`: client UUID.
- `clients[].name`: nonempty client name.

```json
{
  "canCreateProjects": false,
  "clients": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "name": "Northstar"
    }
  ]
}
```

`canCreateProjects` is true only when the current user is an owner or admin and the key includes `projects:write`. When true, [create a project](https://www.tracktimer.app/docs/create-project) for an empty client; its creator is assigned automatically. Use a returned ID with [list projects](https://www.tracktimer.app/docs/list-projects). Authentication, scope, rate-limit, and server failures use [shared errors](https://www.tracktimer.app/docs/errors-and-retries).

Examples use illustrative IDs and data. Use the values returned by your own workspace. [Review error handling and retry behavior.](https://www.tracktimer.app/docs/errors-and-retries)
