5 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/communities/{communityId}/join-requests/review | List join requests by status, with search and per-status counts |
GET | /api/communities/{communityId}/join-requests/review/{requestId} | One request with the form it answered, its answers and its documents |
GET | /api/communities/{communityId}/join-requests/review/{requestId}/attachments/{attachmentId} | Stream one applicant document to a reviewer (recorded; never cached) |
POST | /api/communities/{communityId}/join-requests/review/bulk | Approve or reject up to 50 account-first requests, with a result per row |
GET | /api/communities/{communityId}/join-requests/review/export.csv | CSV of the requests in one status (and search), answers as labels, formula-guarded |
GET /api/communities/{communityId}/join-requests/reviewAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string | — |
status | query | no | enum: PENDING, APPROVED, REJECTED, WITHDRAWN, EXPIRED | — |
q | query | no | string | — |
page | query | no | integer | — |
limit | query | no | integer | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | items, total, page, limit, counts, currentFormVersion | — |
403 | Missing users:manage / users:moderate | — |
GET /api/communities/{communityId}/join-requests/review/{requestId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string | — |
requestId | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | JoinReviewDetail | — |
404 | JOIN_REQUEST_NOT_FOUND | — |
GET /api/communities/{communityId}/join-requests/review/{requestId}/attachments/{attachmentId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string | — |
requestId | path | yes | string | — |
attachmentId | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | The file, with its detected content type | — |
404 | JOIN_DOCUMENT_NOT_FOUND | — |
410 | JOIN_DOCUMENT_DELETED — removed under the retention policy | — |
POST /api/communities/{communityId}/join-requests/review/bulkAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | results: [{ requestId, ok, code? }] | — |
400 | JOIN_REVIEW_BULK_INVALID | — |
GET /api/communities/{communityId}/join-requests/review/export.csvAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string | — |
status | query | no | string | — |
q | query | no | string | The list's search — the file holds what the reviewer sees |
Responses
| Status | Description | Body |
|---|---|---|
200 | text/csv (UTF-8 with BOM) | — |