---
title: "Accept a team invitation"
method: POST
path: "/v1/team/accept"
tags: ["Team"]
---

# Accept a team invitation

`POST /v1/team/accept`

## Request

- Base URL: `https://api.sqai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sqai.com/v1/team/accept`
- Auth: none declared

Consume an invite token → make the SIGNED-IN invitee an active org member.

Requires the invitee's Supabase bearer whose email Supabase Auth CONFIRMS (403
``email_not_confirmed`` / ``sso_email_binding_refused`` otherwise) and equals the invited
address (else 409 ``invite_email_mismatch``; the invite stays pending) — a forwarded or leaked
token cannot seat a different account. The inviter must still be able to grant the invite (409
``invite_inviter_inactive``), and a removed member is reactivated only by an invite sent AFTER
the removal (409 ``invite_predates_removal``). The row is bound to the accepting uid; their old
API keys stay revoked. The identity's home link is created when it has none, and moved to this
org when it pointed at the identity's own personal org (so ``<app> login`` joins this team).

## Headers

- `authorization` string, nullable

## Request body

- AcceptRequest
  - `token` string, required

## Response `201`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sqai/apis/algenta-control-plane.md) · [All operations](https://skmtc.dev/sqai/apis/algenta-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/sqai/apis/algenta-control-plane/revisions/f30391a81130?raw)
