8 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/invite-links/{communityId}/invite-links | Get all invite links for a community (admin/moderator) |
POST | /api/invite-links/{communityId}/invite-links | Create an invite link (admin/moderator) |
DELETE | /api/invite-links/{communityId}/invite-links/{linkId} | Deactivate an invite link (admin/moderator) |
GET | /api/invite-links/join-by-slug/{slug} | Get community info by slug (public) |
POST | /api/invite-links/join-by-slug/{slug} | Join community via slug (authenticated users, auto-join) |
GET | /api/invite-links/join/{token} | Validate invite token and get community info (public) |
POST | /api/invite-links/join/{token} | Join community via invite token (authenticated users) |
POST | /api/invite-links/request-join-authenticated/{slug} | Request to join community via slug (authenticated users, requires approval) |
GET /api/invite-links/{communityId}/invite-linksAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | List of invite links | — |
403 | Permission denied | — |
POST /api/invite-links/{communityId}/invite-linksAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Request body — application/json
| Field | Type | Required | Description |
|---|---|---|---|
expiresAt | string (date-time) | no | — |
maxUses | integer | no | — |
Responses
| Status | Description | Body |
|---|---|---|
201 | Invite link created | — |
403 | Permission denied | — |
DELETE /api/invite-links/{communityId}/invite-links/{linkId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
linkId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Invite link deactivated | — |
403 | Permission denied | — |
GET /api/invite-links/join-by-slug/{slug}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Community information | — |
POST /api/invite-links/join-by-slug/{slug}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Successfully joined community | — |
401 | Authentication required | — |
GET /api/invite-links/join/{token}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
token | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Token validated and community info returned | — |
POST /api/invite-links/join/{token}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
token | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Successfully joined community | — |
POST /api/invite-links/request-join-authenticated/{slug}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Join request submitted | — |