---
title: "For a firm: The firm's memberships and its pending invitations (admin)"
method: GET
path: "/v1/admin/tenants/{tenant}/members"
tags: ["admin"]
---

# For a firm: The firm's memberships and its pending invitations (admin)

`GET /v1/admin/tenants/{tenant}/members`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/admin/tenants/{tenant}/members`
- Auth: HTTP bearer

Memberships oldest first; invitations are WorkOS's pending ones for this firm's organisation, oldest first, with the expiry the list shows as "invited, expires in 6 days".

Operator mount: an operator acting for the firm named in the path, as its oldest active admin, else its oldest active billing member; `X-Six-Minute-Acting-As` names them. 404 for no such firm, 409 `urn:six-minute:problem:no-acting-member` for one with neither.

## Path parameters

- `tenant` string, required

## Response `200`

Both lists.

- object
  - `members` object[], required
    - `id` string, required
    - `user_id` string, required
    - `role` 'timekeeper' | 'billing' | 'admin', required
    - `active` boolean
    - `narrative_language` 'nl' | 'en' | 'de' | 'fr' | 'es' | 'it' | 'pt' | 'pl' | 'sv' | 'da' | 'en-GB' | 'pt-PT', nullable
    - `entry_size` 'fewer' | 'balanced' | 'more', nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `email` string, email, required
    - `name` string
    - `avatar` object, nullable
      - `updated_at` string, date-time, required
  - `invitations` object[]
    - `id` string, required
    - `email` string, email, required
    - `role` 'timekeeper' | 'billing' | 'admin', required
    - `expires_at` string, date-time, required
    - `created_at` string, date-time, required

## Other responses

- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.
- `404`: No such row for this tenant.
- `409`: The id or the email already belongs to something else.
- `429`: Too many requests; `Retry-After` says how long to wait.
- `502`: An upstream this service depends on failed or answered nonsense.
- `503`: A capability this service was not configured with, or a practice system that could not be reached; the `type` says which.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
