---
title: "Accept a team invitation"
method: POST
path: "/api/v1/team-invitations/{invitationId}/accept"
tags: ["TeamInvitations"]
---

# Accept a team invitation

`POST /api/v1/team-invitations/{invitationId}/accept`

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/api/v1/team-invitations/{invitationId}/accept`
- Auth: API key in cookie `__Secure-better-auth.session_token`

Session cookie required. Personal access tokens are not accepted. The Better Auth org plugin validates the caller is the invitation’s recipient and creates the membership; refusals are relayed verbatim.

## Path parameters

- `invitationId` string, required

## Response `200`

Invitation accepted; the caller is now a member.

- OkResponse: Minimal success acknowledgement. `ok: true` confirms the mutation landed.
  - `ok` true, required

## Other responses

- `401`: Sign-in required.
- `403`: Refused by the plugin gate (wrong recipient, expired, …).

---

[API](https://skmtc.dev/charm/apis/charming-api.md) · [All operations](https://skmtc.dev/charm/apis/charming-api/llms.txt) · [OpenAPI document](https://skmtc.dev/charm/apis/charming-api/revisions/a9d06c419b3a?raw)
