---
title: "Generate a tenant invitation token (admin)"
method: POST
path: "/api/v1/tenants/me/invitations"
tags: ["Tenants"]
---

# Generate a tenant invitation token (admin)

`POST /api/v1/tenants/me/invitations`

## Request

- Base URL: `https://api.hub-equity.com`
- URL: `https://api.hub-equity.com/api/v1/tenants/me/invitations`
- Auth: HTTP bearer

Creates an invitation token that the admin shares with the invitee, who then uses it via POST /api/v1/tenants/me/invitations/accept or the signup flow `/signup?invitation_token={token}`. At most 5 active invitations per admin, and only while the plan has a seat left (`409` otherwise).

## Request body

- CreateInvitationRequest
  - `role` 'admin' | 'member': Role given to the invitee when the token is accepted.
  - `expires_in_days` integer: Token validity in days. Default 7.

## Response `201`

Invitation created

- ApiResponseInvitationCreatedResponse
  - `success` boolean, required
  - `data` InvitationCreatedResponse: Returned on invitation creation: the token the admin shares with the invitee.
    - `id` string, uuid, required
    - `role` string, required
    - `token` string, uuid, required: Invitation token to share with the invitee. It is accepted at https://hub-equity.com/signup?invitation_token={token} or via POST /api/v1/tenants/me/invitations/accept.
    - `expires_at` string, date-time, required
    - `created_at` string, date-time, required
  - `error` ApiError: API error details.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` ApiMeta: API response metadata. Pagination fields (``page`` / ``per_page`` / ``total``) are populated on collection endpoints only. They are omitted from the payload on single-resource endpoints.
    - `timestamp` string, date-time
    - `request_id` string, nullable
    - `page` integer, nullable
    - `per_page` integer, nullable
    - `total` integer, nullable
  - `links` ApiLinks: HATEOAS-style pagination cursors. Host-relative path + query links for a collection page. Present on collection endpoints, ``null`` fields where a page doesn't exist (``next`` on the last page, ``prev`` on the first). The whole ``links`` object is omitted from single-resource responses (see ``ApiResponse`` serializer).
    - `self` string, nullable
    - `first` string, nullable
    - `prev` string, nullable
    - `next` string, nullable
    - `last` string, nullable

## Other responses

- `403`: Tenant admin role required
- `409`: Max 5 active invitations reached, or no seat left on the plan
- `422`: Validation Error

---

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