# Invite someone

URL: https://docs.fxapis.com/api-reference/members/invite-someone

> Invite someone. Console only — not available with API keys.

`POST https://api.fxapis.com/v1/members/invitations`

**Console only — not available with API keys.** Signed-in owners and admins use this from the fxapis console. It is not in the SDKs or the Postman collection.

Returns a link to send them; there is no email yet. An address that already has an open invitation gets that invitation back — the same link, not a new one — with `handedBack: true`. To change the role on it, revoke it and invite again.

The owner may invite admins and members; an admin may invite members.

Authentication: `Authorization: Bearer <API key>`.

#### Request body (application/json, required)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `email` | string (email) | yes |  |
| `role` | "admin" \| "member" | yes |  |

#### Responses

- `200`
- `201`
- `400`
- `401`
- `403`
- `409`
- `503`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.id` | string (uuid) | no |  |
| `data.email` | string | no |  |
| `data.role` | "admin" \| "member" | no |  |
| `data.url` | string | no | The link to send them. The same link every time it is asked for, until it is accepted, revoked or expires. |
| `data.invitedBy` | null \| string | no | Name of the member who sent it. |
| `data.expiresAt` | string (date-time) | no |  |
| `data.createdAt` | string (date-time) | no |  |
| `data.handedBack` | boolean | no | True when this address already had an open invitation and that one was returned instead. |