---
title: "Invite member"
method: POST
path: "/v1/invitations"
tags: ["Members"]
---

# Invite member

`POST /v1/invitations`

## Request

- Base URL: `https://api.inth.com`
- URL: `https://api.inth.com/v1/invitations`
- Auth: HTTP bearer

Emails an invitation to join the organization. The invitation expires after 48 hours. Requires members.write, a user token, and an admin or owner role; only owners can invite owners. An address that is already a member or already invited answers 409.

## Query parameters

- `organizationId` string

## Request body

- CreateInvitationRequest
  - `email` string, email, required: Address to invite. Compared case-insensitively.
  - `role` 'owner' | 'admin' | 'member', required: Role granted on acceptance. Only owners can invite owners.

## Response `201`

Created invitation.

- object
  - `success` true, required
  - `data` Invitation, required
    - `id` string, required
    - `email` string, email, required
    - `role` 'owner' | 'admin' | 'member', required
    - `status` 'pending', required
    - `createdAt` string, date-time, required
    - `expiresAt` string, date-time, required
    - `invitedBy` object, required
      - `id` string, required
      - `name` string, required
      - `email` string, email, required

## Other responses

- `400`: The request payload or parameters are invalid.
- `401`: Authentication is missing, invalid, or expired.
- `403`: The credential is valid but may not perform the operation. `INSUFFICIENT_SCOPE`: the credential was never granted the capability the operation needs. `details.requiredScope` names it, and the `WWW-Authenticate` header carries `Bearer error="insufficient_scope"`. An OAuth client fixes this by requesting the scope; an organization API key cannot gain it. `FORBIDDEN`: the capability is present but the membership behind the credential lacks the role, or the resource belongs to another organization.
- `409`: The request conflicts with the current resource state.
- `413`: The request body exceeds the 1 MB limit.
- `429`: The rate limit was exceeded. API key limits are set by plan tier (Starter 600/min, Pro 1500/min, Enterprise 3000/min). Check the Retry-After header before retrying.
- `500`: An unexpected internal error occurred.
- `503`: The capability is temporarily paused by an operator. Retry later.

## Changes

- **2026-09-08** `66c8f6ac2730`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/inth/apis/inth-api/changes/v1/invitations/post.md)

---

[API](https://skmtc.dev/inth/apis/inth-api.md) - [All operations](https://skmtc.dev/inth/apis/inth-api/llms.txt) - [OpenAPI document](https://skmtc.dev/inth/apis/inth-api/revisions/5a1be8d43402?raw)
