---
title: "Invite a teammate"
method: POST
path: "/v1/account/invitations"
tags: ["account"]
---

# Invite a teammate

`POST /v1/account/invitations`

## Request

- Base URL: `https://api.typenode.ai`
- URL: `https://api.typenode.ai/v1/account/invitations`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, uuid, required

## Request body

- CreateInvitation
  - `email` string, email, required
  - `role_ids` string[], required

## Response `200`

The original invitation metadata for an identical completed retry.

- Invitation
  - `created_at` string, date-time, required
  - `delivery_state` 'queued' | 'submitted' | 'delivered' | 'failed' | 'bounced' | 'cancelled', required
  - `expires_at` string, date-time, nullable, required
  - `id` string, uuid, required
  - `inviter_name` string, nullable, required
  - `recipient_email` string, email, required
  - `role_ids` string[], required
  - `state` 'pending' | 'accepted' | 'expired' | 'cancelled', required
  - `workspace_name` string, nullable, required

## Other responses

- `201`: The created invitation.
- `400`: Invalid invitation data or missing/malformed Idempotency-Key.
- `401`: Authentication required.
- `403`: member.invite and authority to confer every requested role are required.
- `409`: The idempotency key conflicts, an invite is already pending, or the user already exists.
- `503`: The authority store or notification enqueue boundary is temporarily unavailable.
- `default`: An error occurred (RFC 9457 problem+json).

---

[API](https://skmtc.dev/typenode/apis/typenode-management-api.md) · [All operations](https://skmtc.dev/typenode/apis/typenode-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/typenode/apis/typenode-management-api/revisions/9b943024aa98?raw)
