---
title: "Invite a team member"
method: POST
path: "/v1/team/members/invite"
tags: ["Team"]
---

# Invite a team member

`POST /v1/team/members/invite`

## Request

- Base URL: `https://api.frihet.io`
- URL: `https://api.frihet.io/v1/team/members/invite`
- Auth: API key in header `X-API-Key`

Send an email invitation to join the workspace. Subject to plan seat limits (free: 1; pro, Premium and enterprise: unlimited). Invitation expires in 7 days.

## Request body

- TeamInviteRequest
  - `email` string, email, required
  - `role` 'admin' | 'editor' | 'accountant' | 'viewer', required
  - `name` string

## Response `201`

Invitation sent

- object
  - `data` object
    - `id` string
    - `email` string
    - `role` string
    - `name` string, nullable
    - `status` 'pending'
    - `expiresAt` string, date-time

## Other responses

- `400`: Bad request - invalid parameters or request body
- `401`: Authentication required or invalid API key
- `409`: Conflict — user already a member, invite already pending, or seat limit reached
- `429`: Rate limit exceeded (100 requests per minute)
- `500`: Internal server error

---

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