> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blindsight.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview Invitation

> Resolve an invitation token to its state, without consuming it.

Always 200 with a ``status``, never an HTTP error, so the page can branch on
one field. Returning the bound email for a redeemable token is not an
enumeration risk: the token is 32 random bytes, so holding one already proves
you were sent it.



## OpenAPI

````yaml /api-reference/openapi.json get /api/invitations/preview
openapi: 3.1.0
info:
  title: Blindsight API
  version: 0.1.0
  description: >-
    The full Blindsight REST surface, generated from the running application.
    Replace the server host with your own deployment.


    For the Runtime Security integration surface (scan, proxy, tool calls) see
    the Runtime Security spec, which is hand written and carries worked
    examples.
servers:
  - url: https://api.your-blindsight.com
    description: Your Blindsight deployment
security: []
paths:
  /api/invitations/preview:
    get:
      tags:
        - invitations
      summary: Preview Invitation
      description: >-
        Resolve an invitation token to its state, without consuming it.


        Always 200 with a ``status``, never an HTTP error, so the page can
        branch on

        one field. Returning the bound email for a redeemable token is not an

        enumeration risk: the token is 32 random bytes, so holding one already
        proves

        you were sent it.
      operationId: preview_invitation_api_invitations_preview_get
      parameters:
        - name: token
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvitePreviewResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InvitePreviewResponse:
      properties:
        status:
          type: string
          title: Status
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        roles:
          items:
            type: string
          type: array
          title: Roles
          default: []
        role_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Role Label
        workspace_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Workspace Name
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
        require_2fa:
          type: boolean
          title: Require 2Fa
          default: false
      type: object
      required:
        - status
      title: InvitePreviewResponse
      description: >-
        What the accept-invite page needs to render the right view up front.


        ``status`` is the invitation's state, not an error: the page can only
        tell an

        invitee "this link was already used" instead of showing them a password
        form

        that is going to fail if it can ask before they type anything.
        Identifying

        fields are present only when the token is actually redeemable.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````