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

# Send invitation

> Invites an existing platform user to the workspace and delivers an in-app notification. No email is sent by this server. The response is identical whether or not the address belongs to a known account, so it cannot be used to determine whether an account exists.



## OpenAPI

````yaml /api-reference/openapi.json post /workspaces/{workspaceSlug}/invites/
openapi: 3.1.0
info:
  title: Nvisy API
  summary: Document processing and annotation platform
  description: >-
    Nvisy provides intelligent document processing, annotation, and analysis
    capabilities. This API enables document upload, OCR processing, embedding
    generation, and semantic search across your document collections.
  termsOfService: https://nvisy.com/legal/terms-of-service
  contact:
    name: Nvisy Support
    url: https://nvisy.com
    email: hello@nvisy.com
  license:
    name: Proprietary
    url: https://nvisy.com/license
  version: 0.1.0
servers: []
security: []
tags:
  - name: Accounts
    description: Account management and profile operations
  - name: Authentication
    description: Login, signup, and token management
  - name: Workspaces
    description: Workspace creation and management
  - name: Files
    description: File upload, download, and management
  - name: Members
    description: Workspace member management
  - name: Invites
    description: Workspace invitation handling
  - name: API Tokens
    description: API token management
  - name: Connections
    description: External provider connections
  - name: Pipelines
    description: Redaction pipeline configuration
  - name: Pipeline Runs
    description: Pipeline run execution and review
  - name: Policies
    description: Redaction policy configuration
  - name: Webhooks
    description: Webhook configuration
  - name: Notifications
    description: Account notification management
  - name: Health
    description: Service health checks
paths:
  /workspaces/{workspaceSlug}/invites/:
    post:
      tags:
        - Invites
      summary: Send invitation
      description: >-
        Invites an existing platform user to the workspace and delivers an
        in-app notification. No email is sent by this server. The response is
        identical whether or not the address belongs to a known account, so it
        cannot be used to determine whether an account exists.
      parameters:
        - in: path
          name: workspaceSlug
          description: URL-safe workspace identifier.
          required: true
          schema:
            description: URL-safe workspace identifier.
            type: string
          style: simple
      requestBody:
        description: Request payload for creating a new workspace invite.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInvite'
        required: true
      responses:
        '200':
          description: >-
            Acknowledgement returned after sending a workspace invitation.


            The response is deliberately uniform: it carries no invite
            identifier or

            status, so it is identical whether or not the address belonged to a
            known

            account and cannot be used to probe for account existence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteSent'
        '400':
          description: >-
            HTTP error response representation with security-conscious design.


            This struct contains all the information needed to serialize an
            error

            response, including the error name, message, HTTP status code,
            resource

            information, and user-friendly messages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            HTTP error response representation with security-conscious design.


            This struct contains all the information needed to serialize an
            error

            response, including the error name, message, HTTP status code,
            resource

            information, and user-friendly messages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            HTTP error response representation with security-conscious design.


            This struct contains all the information needed to serialize an
            error

            response, including the error name, message, HTTP status code,
            resource

            information, and user-friendly messages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            HTTP error response representation with security-conscious design.


            This struct contains all the information needed to serialize an
            error

            response, including the error name, message, HTTP status code,
            resource

            information, and user-friendly messages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '415':
          description: 'Expected request with `Content-Type: application/json`'
          content:
            text/plain:
              schema:
                type: string
        '422':
          description: Failed to deserialize the JSON body into the target type
          content:
            text/plain:
              schema:
                type: string
      security:
        - BearerAuth: []
components:
  schemas:
    CreateInvite:
      description: Request payload for creating a new workspace invite.
      type: object
      properties:
        expiresIn:
          description: When the invitation expires.
          allOf:
            - $ref: '#/components/schemas/InviteExpiration'
        invitedRole:
          description: Role the invitee will have if they accept the invitation.
          allOf:
            - $ref: '#/components/schemas/WorkspaceRole'
        inviteeEmail:
          description: Email address of the person to invite.
          type: string
          format: email
          maxLength: 254
          minLength: 5
      required:
        - inviteeEmail
        - invitedRole
        - expiresIn
    InviteSent:
      description: >-
        Acknowledgement returned after sending a workspace invitation.


        The response is deliberately uniform: it carries no invite identifier or

        status, so it is identical whether or not the address belonged to a
        known

        account and cannot be used to probe for account existence.
      type: object
      properties:
        detail:
          description: Human-readable confirmation message.
          type: string
      required:
        - detail
    ErrorResponse:
      description: |-
        HTTP error response representation with security-conscious design.

        This struct contains all the information needed to serialize an error
        response, including the error name, message, HTTP status code, resource
        information, and user-friendly messages.
      type: object
      properties:
        message:
          description: User-friendly error message safe for client display
          type: string
        name:
          description: The error name/type identifier
          type: string
        resource:
          description: The resource that the error relates to (optional, set by handler)
          type: string
        suggestion:
          description: Helpful suggestion for resolving the error (optional)
          type: string
        validation:
          description: Validation error details for field-specific errors
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorDetail'
      required:
        - name
        - message
    InviteExpiration:
      description: Expiration options for invite codes.
      oneOf:
        - description: Expires in 24 hours.
          type: string
          const: in24Hours
        - description: Expires in 7 days.
          type: string
          const: in7Days
        - description: Expires in 30 days.
          type: string
          const: in30Days
    WorkspaceRole:
      description: >-
        Defines the role and permission level of a workspace member.


        This enumeration corresponds to the `WORKSPACE_ROLE` PostgreSQL enum and
        provides

        hierarchical access control for workspace members with clearly defined
        capabilities.
      oneOf:
        - description: Full workspace ownership and management capabilities
          type: string
          const: owner
        - description: >-
            Can manage members, integrations, and settings, but cannot delete
            workspace or transfer ownership
          type: string
          const: admin
        - description: >-
            Can edit content and manage files, but cannot manage members or
            workspace settings
          type: string
          const: member
        - description: Read-only access to workspace content
          type: string
          const: guest
    ValidationErrorDetail:
      description: Validation error details for field-specific errors.
      type: object
      properties:
        code:
          description: Error code for the validation failure
          type: string
        field:
          description: Field name that failed validation
          type: string
        message:
          description: Human-readable error message
          type: string
        params:
          description: Additional parameters related to the validation error
          type: object
          additionalProperties: true
      required:
        - field
        - code
        - message

````