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

# Get a public preview of an organization invitation

> Returns the organization name, invitee email, and invitation lifecycle metadata for the given invitation id. Unauthenticated so the invite landing page can render context before the user signs up. The *inviter* identity is intentionally not exposed; the invitee email is returned so the sign-up form can lock the field (anyone holding the invitation id can sign up against it anyway).



## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/avido/openapi.documented.yml get /v0/auth/invitation-preview
openapi: 3.1.1
info:
  title: Avido API
  description: >-
    Avido's API for LLM usage events, tool calls, trace management, webhook
    validation, and more. See each endpoint's request/response schema for
    details.
  version: 0.1.0
  contact:
    name: Avido Support
    email: support@avidoai.com
    url: https://avidoai.com/support
servers:
  - url: https://api.avidoai.com
    description: Production API
security:
  - ApiKey: []
    ApplicationId: []
paths:
  /v0/auth/invitation-preview:
    get:
      tags:
        - Authentication
      summary: Get a public preview of an organization invitation
      description: >-
        Returns the organization name, invitee email, and invitation lifecycle
        metadata for the given invitation id. Unauthenticated so the invite
        landing page can render context before the user signs up. The *inviter*
        identity is intentionally not exposed; the invitee email is returned so
        the sign-up form can lock the field (anyone holding the invitation id
        can sign up against it anyway).
      operationId: getInvitationPreview
      parameters:
        - in: query
          name: invitationId
          schema:
            type: string
            minLength: 1
            maxLength: 256
            description: The id of the invitation to preview.
            example: 550e8400-e29b-41d4-a716-446655440000
          required: true
          description: The id of the invitation to preview.
      responses:
        '200':
          description: Invitation preview retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvitationPreviewResponse'
        '404':
          description: Invitation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Invalid invitation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Too many invitation-preview requests from this IP address. The
            endpoint is rate-limited per-IP to discourage enumeration of
            invitation ids.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security: []
components:
  schemas:
    InvitationPreviewResponse:
      type: object
      properties:
        organizationName:
          type: string
          description: The display name of the organization the invitation is for.
          example: Acme Inc.
        email:
          type: string
          format: email
          pattern: >-
            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          description: >-
            The email address the invitation was issued to. The sign-up form
            locks this field so the user cannot deviate from the invited
            address.
          example: alice@acme.com
        status:
          type: string
          enum:
            - pending
            - accepted
            - rejected
            - canceled
          description: >-
            Lifecycle status of the invitation. Only `pending` invitations can
            be accepted; the UI should surface a terminal-state message for any
            other value.
          example: pending
        expiresAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          description: >-
            ISO-8601 timestamp at which the invitation expires. UI may surface
            an expired state if this is in the past.
          example: '2025-01-01T00:00:00.000Z'
      required:
        - organizationName
        - email
        - status
        - expiresAt
      additionalProperties: false
      title: InvitationPreviewResponse
      description: >-
        Public, unauthenticated invitation preview returned to the invite
        landing page so it can render the org name and status before the user
        signs up.
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message explaining the error.
          example: Resource not found
      required:
        - message
      additionalProperties: false
      title: ErrorResponse
      description: Standard error format for failed API operations.
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your unique Avido API key
    ApplicationId:
      type: apiKey
      in: header
      name: x-application-id
      description: Your unique Avido Application ID

````