---
title: "Invite a member"
description: "Invites an address by email as admin or member. Invitations expire after 48 hours. Repeating it for a pending address returns that invitation with 200 and sends nothing. Existing members get 409 already_member. Needs a signed-in owner or admin (dashboard session or MCP sign-in token). API keys get 403."
canonical: https://docs.rumoro.dev/api/members/create-invitation
markdown: https://docs.rumoro.dev/api/members/create-invitation.mdx
---

# Invite a member

`POST /v1/members/invitations`

Invites an address by email as admin or member. Invitations expire after 48 hours. Repeating it for a pending address returns that invitation with 200 and sends nothing. Existing members get 409 already_member. Needs a signed-in owner or admin (dashboard session or MCP sign-in token). API keys get 403.

## Body

| Field | Required | Description |
| --- | --- | --- |
| `email` | yes | Address that receives the join link. |
| `role` |  | The role they get when they join. Ownership can only be given in the dashboard. |

## Responses

| Status | Meaning |
| --- | --- |
| 200 | The pending invitation for this address |
| 201 | The invitation that was emailed |
| 401 | The API key is missing or not valid |
| 403 | An API key was used, or the signed-in user is not an owner or admin |
| 409 | This address belongs to a member already (already_member) |

The [OpenAPI document](https://api.rumoro.dev/v1/openapi.json) has every schema. Rules shared by all endpoints are in [Conventions](https://docs.rumoro.dev/conventions.mdx).
