List pending invites
const url = 'http://localhost:8000/api/team/invites/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8000/api/team/invites/ \ --header 'Authorization: Bearer <token>'Returns invites currently in pending state for the active team, newest first. Cancelled, accepted, and expired invites are excluded — query history isn’t exposed because the UI surfaces only what’s actionable. Empty array when no team or nothing pending.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Full invite row — owner-facing (pending invites list).
object
Invite UUID — use to cancel via DELETE /api/team/invites/
Recipient email.
Friendly name as supplied at invite creation (optional).
pending / accepted / cancelled / expired.
pending- Pendingaccepted- Acceptedexpired- Expiredcancelled- Cancelled
ISO-8601 UTC. Invites expire after the team-wide TTL (currently 7 days).
Stamped when the recipient accepts. Null otherwise.
When the invite was sent.
Examples
One pending invite
[ [ { "id": "9b1c7e2a-4d3f-4a8b-9c0d-1e2f3a4b5c6d", "email": "newcoach@club.example", "display_name": "New Coach", "status": "pending", "expires_at": "2026-06-10T00:00:00Z", "created_at": "2026-05-27T09:00:00Z" } ]]object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}