---
title: "Accept organization invitation"
method: POST
path: "/internal/v1/join/{invite_id}"
tags: ["Users"]
---

# Accept organization invitation

`POST /internal/v1/join/{invite_id}`

Accept a pending invitation and add the user to the organization. This endpoint is public — it does not require authentication, only a valid invitation ID. If the invited email does not yet correspond to a registered user, a new user is created with a confirmed email. If the user has no password set, a reset-password token is returned so the client can prompt the user to set one. If the invitation included a team, the user is also added to that team.

## Path parameters

- `invite_id` string, required

## Response `200`

Invitation accepted. When the user had no password set, returns `{resetPasswordToken}`. When the user already had a password, the response body is empty.

- JoinResponse — Response from accepting an invitation. Contains `resetPasswordToken` only when the user had no password set prior to acceptance; otherwise the server returns an empty body (decode as an empty object).
  - `resetPasswordToken` string — 32-character hex nonce. Use to set the user's initial password.

## Other responses

- `400` — Invalid request
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/uptrace/apis/uptrace-json-api.md) · [All operations](https://skmtc.net/uptrace/apis/uptrace-json-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uptrace/uptrace-json-api/versions/550c8881ab9a/schema)
