---
title: "Accept an invitation and create the account"
method: POST
path: "/internal/api/invites/accept"
tags: ["INVITES"]
---

# Accept an invitation and create the account

`POST /internal/api/invites/accept`

## Request

- Base URL: `https://api.signalshq.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalshq.io/internal/api/invites/accept`
- Auth: none declared

Creates the member in the inviting tenant with the role stored on the invite, marks the email verified (the token already proved mailbox control), and returns an access token so the invitee lands signed in. Neither the email nor the role can be supplied by the caller.

## Request body

- InviteAcceptRequest: Body of the public acceptance call. Carries no email and no role by design: the email comes from the invite (the token proves control of that mailbox) and so does the role. Accepting either from the client would let an invitee choose their own privileges. The token travels in this body too, NOT in the URL path — see docs/settings_team_members_v1.md §4.5b. A path segment is captured by reverse-proxy access logs, browser history, Referer headers and front-end telemetry, none of which this codebase controls.
  - `token` string, required
  - `name` string, required
  - `password` string, required

## Response `201`

Successful Response

- InviteAcceptResponse
  - `access_token` string, required
  - `token_type` string
  - `user_details` object, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalshq/apis/signals-api.md) - [All operations](https://skmtc.dev/signalshq/apis/signals-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalshq/apis/signals-api/revisions/2c22af3b5576?raw)
