openapi: 3.2.0 info: title: Archbee Public Access Control API description: The Archbee Public API manages documentation spaces, documents, space groups, File Manager files, reader suggestions, organization exports and imported OpenAPI references in an Archbee workspace. Authentication uses an HTTP Bearer token whose value is base64(docSpaceId~apiKey), or a team key beginning abteam_. version: '2026-09-04' contact: name: Archbee Support email: support@archbee.com url: https://www.archbee.com/ termsOfService: https://www.archbee.com/terms-of-service x-generated-from: https://www.archbee.com/docs/.md api-oas-v2 blocks published by Archbee x-generated-by: API Evangelist enrichment pipeline, local-v3 x-generated-date: '2026-09-04' servers: - url: https://api.archbee.com/api/public-api description: Archbee API Server security: - bearerAuth: [] tags: - name: Access Control description: Magic-link access requests for gated portals paths: /access-control/request: post: operationId: requestMagicLinkAccess summary: Request Magic Link Access tags: - Access Control x-source-doc: https://www.archbee.com/docs/request-magic-link-access description: 'Submit a reader''s email as a pending request to be added to the space''s magic-link whitelist. The request does NOT grant access on its own — an admin must approve it. The space must be configured for Magic Link (Magic Link enabled, the portal gating content, and the team''s plan allowing it); otherwise the request is refused with 400. There is one request per (email, space). A repeat request for the same email is idempotent per status: a Pending request returns the existing row unchanged; an Accepted request whose email is still whitelisted also returns it unchanged; but an Accepted request whose access was later revoked, or a previously Rejected request, is put back into the Pending queue and re-notifies the admins — so a rejected or revoked reader can always re-apply.' requestBody: required: true content: application/json: schema: type: object properties: email: type: string enum: - email description: Email address requesting access example: reader@example.com required: - email responses: '200': description: Process status content: application/json: schema: type: object properties: status: type: string enum: - OK description: Response Status data: type: object properties: id: type: string description: access control request id status: type: string enum: - Pending - Accepted - Rejected description: request status description: Process status '400': description: Invalid request content: application/json: schema: type: object properties: status: type: string enum: - OK - Not OK description: Response Status example: Not OK messages: type: array items: type: string example: Some error message description: Array of messages example: '["Some error message"]' components: securitySchemes: bearerAuth: type: http scheme: bearer description: 'Requires the Authorization header in the form Authorization: Bearer {base64(docSpaceId~apiKey)} — the base64 encoding of the docSpaceId, a tilde, and the apiKey. A team key beginning abteam_ may be used instead to reach every space in the organization.'