openapi: 3.0.3
info:
  title: 'Convoflo REST API'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://api.convoflo.com'
tags:
  -
    name: Account
    description: ''
  -
    name: Endpoints
    description: ''
  -
    name: 'File requests'
    description: ''
  -
    name: 'File request templates'
    description: ''
  -
    name: Files
    description: ''
  -
    name: 'Folder templates'
    description: ''
  -
    name: 'Internal notes'
    description: ''
  -
    name: Labels
    description: ''
  -
    name: Messages
    description: ''
  -
    name: Notifications
    description: ''
  -
    name: Organization
    description: ''
  -
    name: 'Payment requests'
    description: ''
  -
    name: 'Preset messages'
    description: ''
  -
    name: 'Secure spaces & folders'
    description: ''
  -
    name: 'Secure spaces, folders & files'
    description: ''
  -
    name: 'SharePoint sync'
    description: ''
  -
    name: 'Signature requests'
    description: ''
  -
    name: 'Signature request templates'
    description: ''
  -
    name: Upload
    description: "\nHandles file uploads to Convoflo using two strategies based on file size.\n\n**STRATEGY 1**: Direct Upload (Files < 25 MB)\n\n<ol>\n    <li>Method: Multipart/form-data binary transfer.</li>\n    <li>Action: Call the 'Upload file API directly'.</li>\n</ol>\n\n**STRATEGY 2**: S3 Session Upload (Files > 25 MB)\nA three-step process is required to bypass the app server:\n\n1. Initialize: Call 'Request file upload API'.\n\n- Returns: S3 credentials, storage location, and a 'version' string.\n- Note: Returns an existing File object if a filename conflict is detected.\n\n2. Transfer: Upload the binary directly to S3 using the credentials from Step 1.\n\n3. Finalize: Call 'Upload file API'.\n\n- Requirement: You must pass the 'version' string obtained in Step 1 to successfully create the file record."
  -
    name: 'User invitations'
    description: ''
  -
    name: 'Users of organization'
    description: ''
  -
    name: 'Webhook endpoints'
    description: ''
  -
    name: Webhooks
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: "The following is a step-by-step guide to authenticate your application using **OAuth 2.0 Authorization Code Flow**. OAuth 2.0 is an industry-standard protocol for authorization. It allows your application to access a user's resources without sharing their credentials, using access tokens issued by an authorization server.\n\n## Prerequisites\n\n- A registered OAuth 2.0 client with a Client ID and Client Secret.\n- A valid redirect URI configured in your app settings.\n- HTTPS enabled on your application.\n\n## Step 1: Register Your Application\n\nRegister your app with Convoflo. First, you will need to provide to the Convoflo developers the redirect URL after the user has authenticated. Once done, you will receive:\n\n- **Client ID**: Public identifier for your app.\n- **Client Secret**: Confidential key used to authenticate your app.\n- **Redirect URI**: URL to which users are redirected after authorization.\n\n## Step 2: Redirect User to Authorization Server\n\nRedirect the user to the authorization URL with the required parameters.\n\nExample (make sure to replace `your_client_id` with your client ID, and use the same redirect URL as submitted). Note that no scope parameter is passed in as scopes are not supported for the current version of Convoflo.\n\n```\nGET https://api.convoflo.com/oauth/authorize?\nresponse_type=code\n&client_id=your_client_id\n&redirect_uri=https://yourapp.com/oauth/callback\n&scope=\n&prompt=consent\n```\n\n- `response_type=code`: Indicates that your app expects an authorization code\n- `client_id`: Your app's client ID\n- `redirect_uri`: Must match what you registered\n- `scope`: No scope parameter is passed in as scopes are not supported for the current version of Convoflo\n\n## Step 3: Handle Authorization Code Callback\n\nAfter the user approves access, they are redirected to your redirect URI:\n\n```\nhttps://yourapp.com/oauth/callback?code=AUTH_CODE\n```\n\nExtract the code from the query string.\n\n## Step 4: Exchange Authorization Code for Access Token\n\nMake a POST request to the token endpoint:\n\n```\nPOST https://api.convoflo.com/oauth/token\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=authorization_code\n&code=AUTH_CODE\n&redirect_uri=https://yourapp.com/oauth/callback\n&client_id=your_client_id\n&client_secret=your_client_secret\n```\n\n- `code`: The authorization code received from Step 3\n- `client_id`: Your app's client ID\n- `client_secret`: Your app's client secret\n- `redirect_uri`: Must match what you registered\n\n**Response:**\n\n```json\n{\n\t\"access_token\": \"ACCESS_TOKEN\",\n\t\"token_type\": \"Bearer\",\n\t\"expires_in\": 3600,\n\t\"refresh_token\": \"REFRESH_TOKEN\"\n}\n```\n\n## Step 5: Use Access Token to Call Protected APIs\n\nInclude the access token in the Authorization header:\n\n```\nGET https://api.convoflo.com/api/1/account\nAuthorization: Bearer ACCESS_TOKEN\n```\n\n## Step 6: Refresh Access Token (Optional)\n\nWhen the access token expires, use the refresh token to obtain a new one:\n\n```\nPOST https://api.convoflo.com/oauth/token\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=refresh_token\n&refresh_token=REFRESH_TOKEN\n&client_id=your_client_id\n&client_secret=your_client_secret\n```\n\n## Security Considerations\n\n- Always use HTTPS to protect sensitive data in transit\n- Store `client_secret` securely — never expose it in the frontend\n- Use the `state` parameter to prevent CSRF attacks\n- Set proper token expiration and revocation policies\n\n\n# Webhooks\n\nWebhooks allow your application to receive real-time notifications when events occur on Convoflo. This guide walks you through how to set up and start receiving webhook events from Convoflo.\n\n## Prerequisites\n\nBefore you begin, make sure you have:\n\n- A publicly accessible HTTPS endpoint (e.g., https://yourapp.com/webhooks)\n- The ability to verify incoming POST or PUT requests\n- A secret token (generated in your Convoflo developer admin) to authenticate webhook payloads\n\n## 1. Register Your Webhook URL\n\nGo to your account settings and at the bottom of the menu, you will see the Webhooks section.\n\n- Click \"Add endpoint\"\n- Enter your HTTPS endpoint URL\n- Optionally enter a description\n- Select the HTTP method (`POST` and `PUT`) are supported\n- Save the webhook\n\n## 2. Secure Your Endpoint\n\nTo ensure requests are authentic:\n\n- We send a `Signature` header with an HMAC-SHA256 signature.\n- Compute the signature on your end using the shared endpoint secret and compare it to the header.\n\n```bash\nsignature = HMAC_SHA256(secret, raw_request_body)\n```\n\nImportant: Always verify the signature before processing the payload.\n\n## 3. Handle Incoming Payloads\n\nEach webhook event is a JSON payload delivered via POST or PUT.\n\nExample payload:\n\n```json\n{\n\t\"event\": \"file.created\",\n\t\"object\": \"\\\\TagMyDoc\\\\Models\\\\Document\",\n\t\"data\": {\n\t\t...\n\t},\n\t\"created_at\": \"2025-07-31T12:45:00Z\",\n\t\"version\": \"1.0.0\"\n}\n```\n\n- Respond with HTTP 2xx to acknowledge receipt\n- Use retries and idempotency to handle failures gracefully\n"
security:
  -
    default: []
paths:
  /api/1/account:
    get:
      summary: 'Get account'
      operationId: getAccount
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 28089
                  '@type': User
                  Title: null
                  Name: 'Morgan Hirthe'
                  FirstName: Morgan
                  LastName: Hirthe
                  Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                  Scope: external
                  HasContact: false
                  business:
                    Name: 'Stokes and Sons'
                    Modules: 1
                    LogoLight: null
                    LogoDark: null
                    Logo: null
                    '@type': Business
                    PasswordPolicy:
                      min: 8
                      mixedCase: true
                      symbols: false
                      uncompromised: false
                      strength: 0
                  PhoneNumber: '2038673351'
                  PhoneExtension: null
                  Role: admin
                  EmailId: null
                  Locale: fr_CA
                  TwoFactorType: null
                  Country: CA
                  TimeZone: US/Eastern
                  email_verified_at: '2026-06-29T18:54:40.000000Z'
                  password_updated_at: null
                  ResetPassword: false
                  ReferralId: P0M0bAXos0x0vjIR
                  Defaults: null
                  HasUnreadNotifications: false
                  DataLocation: CA
                  HasAppleIdConnected: false
                  HasMicrosoftIdConnected: false
                  HasFacebookIdConnected: false
                  HasGoogleIdConnected: false
                  Usage:
                    ComposerMessages:
                      used: 0
                      available: 500
                      limit: 500
                    ComposerAttachments:
                      used: 0
                      available: 1073741824
                      limit: 1073741824
                    SecureSpaces:
                      used: 0
                      available: 0
                      limit: 0
                    Space:
                      used: 0
                      available: 0
                      limit: 0
                    Users:
                      used: 1
                      available: 0
                      limit: 1
                  AuthenticationMethod: null
                properties:
                  ID:
                    type: integer
                    example: 28089
                  '@type':
                    type: string
                    example: User
                  Title:
                    type: string
                    example: null
                    nullable: true
                  Name:
                    type: string
                    example: 'Morgan Hirthe'
                  FirstName:
                    type: string
                    example: Morgan
                  LastName:
                    type: string
                    example: Hirthe
                  Avatar:
                    type: string
                    example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                  Scope:
                    type: string
                    example: external
                  HasContact:
                    type: boolean
                    example: false
                  business:
                    type: object
                    properties:
                      Name:
                        type: string
                        example: 'Stokes and Sons'
                      Modules:
                        type: integer
                        example: 1
                      LogoLight:
                        type: string
                        example: null
                        nullable: true
                      LogoDark:
                        type: string
                        example: null
                        nullable: true
                      Logo:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Business
                      PasswordPolicy:
                        type: object
                        properties:
                          min:
                            type: integer
                            example: 8
                          mixedCase:
                            type: boolean
                            example: true
                          symbols:
                            type: boolean
                            example: false
                          uncompromised:
                            type: boolean
                            example: false
                          strength:
                            type: integer
                            example: 0
                  PhoneNumber:
                    type: string
                    example: '2038673351'
                  PhoneExtension:
                    type: string
                    example: null
                    nullable: true
                  Role:
                    type: string
                    example: admin
                  EmailId:
                    type: string
                    example: null
                    nullable: true
                  Locale:
                    type: string
                    example: fr_CA
                  TwoFactorType:
                    type: string
                    example: null
                    nullable: true
                  Country:
                    type: string
                    example: CA
                  TimeZone:
                    type: string
                    example: US/Eastern
                  email_verified_at:
                    type: string
                    example: '2026-06-29T18:54:40.000000Z'
                  password_updated_at:
                    type: string
                    example: null
                    nullable: true
                  ResetPassword:
                    type: boolean
                    example: false
                  ReferralId:
                    type: string
                    example: P0M0bAXos0x0vjIR
                  Defaults:
                    type: string
                    example: null
                    nullable: true
                  HasUnreadNotifications:
                    type: boolean
                    example: false
                  DataLocation:
                    type: string
                    example: CA
                  HasAppleIdConnected:
                    type: boolean
                    example: false
                  HasMicrosoftIdConnected:
                    type: boolean
                    example: false
                  HasFacebookIdConnected:
                    type: boolean
                    example: false
                  HasGoogleIdConnected:
                    type: boolean
                    example: false
                  Usage:
                    type: object
                    properties:
                      ComposerMessages:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 500
                          limit:
                            type: integer
                            example: 500
                      ComposerAttachments:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 1073741824
                          limit:
                            type: integer
                            example: 1073741824
                      SecureSpaces:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 0
                      Space:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 0
                      Users:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 1
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 1
                  AuthenticationMethod:
                    type: string
                    example: null
                    nullable: true
      tags:
        - Account
  /api/1/account/profile:
    put:
      summary: 'Update profile'
      operationId: updateProfile
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 28145
                  '@type': User
                  Title: null
                  Name: 'Christelle Bailey'
                  FirstName: Christelle
                  LastName: Bailey
                  Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                  Scope: external
                  HasContact: false
                  business:
                    Name: 'Cruickshank Inc'
                    Modules: 1
                    LogoLight: null
                    LogoDark: null
                    Logo: null
                    '@type': Business
                    PasswordPolicy:
                      min: 8
                      mixedCase: true
                      symbols: false
                      uncompromised: false
                      strength: 0
                  PhoneNumber: '9738682042'
                  PhoneExtension: null
                  Role: admin
                  EmailId: null
                  Locale: fr_CA
                  TwoFactorType: null
                  Country: CA
                  TimeZone: US/Eastern
                  email_verified_at: '2026-06-29T18:54:47.000000Z'
                  password_updated_at: null
                  ResetPassword: false
                  ReferralId: GNWsz5oNYC3OpTyM
                  Defaults: null
                  HasUnreadNotifications: false
                  DataLocation: CA
                  HasAppleIdConnected: false
                  HasMicrosoftIdConnected: false
                  HasFacebookIdConnected: false
                  HasGoogleIdConnected: false
                  Usage:
                    ComposerMessages:
                      used: 0
                      available: 500
                      limit: 500
                    ComposerAttachments:
                      used: 0
                      available: 1073741824
                      limit: 1073741824
                    SecureSpaces:
                      used: 0
                      available: 0
                      limit: 0
                    Space:
                      used: 0
                      available: 0
                      limit: 0
                    Users:
                      used: 1
                      available: 0
                      limit: 1
                  AuthenticationMethod: null
                properties:
                  ID:
                    type: integer
                    example: 28145
                  '@type':
                    type: string
                    example: User
                  Title:
                    type: string
                    example: null
                    nullable: true
                  Name:
                    type: string
                    example: 'Christelle Bailey'
                  FirstName:
                    type: string
                    example: Christelle
                  LastName:
                    type: string
                    example: Bailey
                  Avatar:
                    type: string
                    example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                  Scope:
                    type: string
                    example: external
                  HasContact:
                    type: boolean
                    example: false
                  business:
                    type: object
                    properties:
                      Name:
                        type: string
                        example: 'Cruickshank Inc'
                      Modules:
                        type: integer
                        example: 1
                      LogoLight:
                        type: string
                        example: null
                        nullable: true
                      LogoDark:
                        type: string
                        example: null
                        nullable: true
                      Logo:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Business
                      PasswordPolicy:
                        type: object
                        properties:
                          min:
                            type: integer
                            example: 8
                          mixedCase:
                            type: boolean
                            example: true
                          symbols:
                            type: boolean
                            example: false
                          uncompromised:
                            type: boolean
                            example: false
                          strength:
                            type: integer
                            example: 0
                  PhoneNumber:
                    type: string
                    example: '9738682042'
                  PhoneExtension:
                    type: string
                    example: null
                    nullable: true
                  Role:
                    type: string
                    example: admin
                  EmailId:
                    type: string
                    example: null
                    nullable: true
                  Locale:
                    type: string
                    example: fr_CA
                  TwoFactorType:
                    type: string
                    example: null
                    nullable: true
                  Country:
                    type: string
                    example: CA
                  TimeZone:
                    type: string
                    example: US/Eastern
                  email_verified_at:
                    type: string
                    example: '2026-06-29T18:54:47.000000Z'
                  password_updated_at:
                    type: string
                    example: null
                    nullable: true
                  ResetPassword:
                    type: boolean
                    example: false
                  ReferralId:
                    type: string
                    example: GNWsz5oNYC3OpTyM
                  Defaults:
                    type: string
                    example: null
                    nullable: true
                  HasUnreadNotifications:
                    type: boolean
                    example: false
                  DataLocation:
                    type: string
                    example: CA
                  HasAppleIdConnected:
                    type: boolean
                    example: false
                  HasMicrosoftIdConnected:
                    type: boolean
                    example: false
                  HasFacebookIdConnected:
                    type: boolean
                    example: false
                  HasGoogleIdConnected:
                    type: boolean
                    example: false
                  Usage:
                    type: object
                    properties:
                      ComposerMessages:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 500
                          limit:
                            type: integer
                            example: 500
                      ComposerAttachments:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 1073741824
                          limit:
                            type: integer
                            example: 1073741824
                      SecureSpaces:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 0
                      Space:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 0
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 0
                      Users:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 1
                          available:
                            type: integer
                            example: 0
                          limit:
                            type: integer
                            example: 1
                  AuthenticationMethod:
                    type: string
                    example: null
                    nullable: true
      tags:
        - Account
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'First name'
                  example: John
                last_name:
                  type: string
                  description: 'Last name'
                  example: Smith
                locale:
                  type: string
                  description: 'The language setting for the current user.'
                  example: fr_CA
                title:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: b
                  nullable: true
                country:
                  type: string
                  description: '2 letter country code'
                  example: CA
                phone:
                  type: string
                  description: 'Phone number'
                  example: '+18005555555'
                phone_extension:
                  type: integer
                  description: 'Phone number extension'
                  example: 12345
                avatar:
                  type: string
                  format: binary
                  description: 'Binary of an image'
                email_id:
                  type: boolean
                  description: 'True to enable email ID. False to disable email ID.'
                  example: true
                timezone:
                  type: string
                  description: 'Timezone of user to have date and time to their own locale.'
                  example: America/Toronto
                root_files_sort:
                  type: string
                  description: Settings.
                  example: name
                  enum:
                    - '!name'
                    - name
                    - date
                    - '!date'
                  nullable: true
                replies_sort:
                  type: string
                  description: 'Default sort view for replies per message. Valid values are `date` and `!date`.'
                  example: date
                default_files_sort:
                  type: string
                  description: 'Default sort view for files in folders. Valid values are `date`, `!date`, `name` and `!name`.'
                  example: date
                default_share_message:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                default_signature:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - first_name
                - last_name
                - locale
                - country
                - phone
                - phone_extension
                - avatar
                - email_id
                - timezone
                - replies_sort
                - default_files_sort
  '/api/apps/outlook/messages/{comment_ID}.html':
    get:
      summary: ''
      operationId: getApiAppsOutlookMessagesComment_IDHtml
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/file-requests/{fileRequest_Id}':
    get:
      summary: 'Get file request'
      operationId: getFileRequest
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File requests'
    post:
      summary: 'Finalize file request'
      operationId: finalizeFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
    put:
      summary: 'Update file request'
      operationId: updateFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                    required:
                      - label
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                notify_event:
                  type: string
                  description: ''
                  example: fulfilled
                  enum:
                    - completion
                    - fulfilled
                  nullable: true
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                folder_path:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                drop_folder_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: completed
                  enum:
                    - completed
    delete:
      summary: 'Delete file request'
      operationId: deleteFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
    parameters:
      -
        in: path
        name: fileRequest_Id
        description: ''
        example: 303172797105049600
        required: true
        schema:
          type: integer
  '/api/1/file-requests/{fileRequest_Id}/items':
    post:
      summary: 'Attach file to the file request'
      operationId: attachFileToTheFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                file_id:
                  type: integer
                  description: ''
                  example: 16
              required:
                - file_id
    parameters:
      -
        in: path
        name: fileRequest_Id
        description: ''
        example: 303172797105049600
        required: true
        schema:
          type: integer
  '/api/1/file-requests/{fileRequest_Id}/items/{fileRequestItem}':
    put:
      summary: 'Fulfill file request'
      operationId: fulfillFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                file_id:
                  type: integer
                  description: 'This field is required when <code>reason</code> is not present.'
                  example: 16
                  nullable: true
                reason:
                  type: string
                  description: 'This field is required when <code>file_id</code> is not present.'
                  example: architecto
                  nullable: true
    delete:
      summary: 'Unfulfill file request'
      operationId: unfulfillFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
    parameters:
      -
        in: path
        name: fileRequest_Id
        description: ''
        example: 303172797105049600
        required: true
        schema:
          type: integer
      -
        in: path
        name: fileRequestItem
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/file-requests/{fileRequest_Id}/items/{fileRequestItem}/approve':
    post:
      summary: 'Approve file request item'
      operationId: approveFileRequestItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
    parameters:
      -
        in: path
        name: fileRequest_Id
        description: ''
        example: 303172797105049600
        required: true
        schema:
          type: integer
      -
        in: path
        name: fileRequestItem
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/file-requests/{fileRequest_Id}/items/{fileRequestItem}/reject':
    post:
      summary: 'Reject file request item'
      operationId: rejectFileRequestItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: ''
                  example: architecto
              required:
                - reason
    parameters:
      -
        in: path
        name: fileRequest_Id
        description: ''
        example: 303172797105049600
        required: true
        schema:
          type: integer
      -
        in: path
        name: fileRequestItem
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/folders/{userFolder}/file-requests':
    get:
      summary: 'List by secure space'
      operationId: listBySecureSpace
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File requests'
    post:
      summary: 'Create file request'
      operationId: createFileRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File requests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                    required:
                      - label
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                notify_event:
                  type: string
                  description: ''
                  example: completion
                  enum:
                    - completion
                    - fulfilled
                  nullable: true
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                folder_path:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                drop_folder_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - items
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  /api/1/file-requests:
    get:
      summary: 'List for user'
      operationId: listForUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File requests'
  '/api/1/folder/{userFolder}/file-requests':
    get:
      summary: 'List by secure space'
      operationId: listBySecureSpace
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File requests'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/1/file-request-templates/{fileRequestTemplate}':
    get:
      summary: 'Get file request template'
      operationId: getFileRequestTemplate
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File request templates'
    put:
      summary: 'Update file request template'
      operationId: updateFileRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File request templates'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                folder_path:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                items:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                allow_more_files:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                notify_for_every_file:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
    delete:
      summary: 'Delete file request template'
      operationId: deleteFileRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File request templates'
    parameters:
      -
        in: path
        name: fileRequestTemplate
        description: ''
        example: 519906940084686848
        required: true
        schema:
          type: integer
  /api/1/file-request-templates:
    post:
      summary: 'Create file request template'
      operationId: createFileRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'File request templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: architecto
                folder_path:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                items:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                    required:
                      - label
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                notify_event:
                  type: string
                  description: ''
                  example: completion
                  enum:
                    - completion
                    - fulfilled
                  nullable: true
              required:
                - label
                - items
    get:
      summary: 'List for organization'
      operationId: listForOrganization
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'File request templates'
  '/api/1/documents/{userFile}/timeline':
    get:
      summary: 'List activities'
      operationId: listActivities
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}/favorite':
    put:
      summary: 'Set as favorite'
      operationId: setAsFavorite
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 1757465
                  '@type': Document
                  '@id': file_1757465
                  Access: private
                  Link: /dl/hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  OriginalLink: /dl/hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  URL: hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  created_at: '2026-06-29T18:54:45.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:45.000000Z'
                  creator:
                    ID: 28136
                    '@type': User
                    Title: null
                    Name: 'Gisselle Cartwright'
                    FirstName: Gisselle
                    LastName: Cartwright
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 406410326
                    Name: 'Smith, Roberts and Cruickshank.xdf'
                    Size: 263873074
                    Source: WEB
                    ExternalLink: null
                    MimeType: text/x-pascal
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:45.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:45.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 1757465
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_1757465
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  OriginalLink:
                    type: string
                    example: /dl/hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  URL:
                    type: string
                    example: hvHTtHNQMC/Lv07ixGvELX3ZKeM
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28136
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Gisselle Cartwright'
                      FirstName:
                        type: string
                        example: Gisselle
                      LastName:
                        type: string
                        example: Cartwright
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 406410326
                      Name:
                        type: string
                        example: 'Smith, Roberts and Cruickshank.xdf'
                      Size:
                        type: integer
                        example: 263873074
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: text/x-pascal
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:45.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:45.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
    delete:
      summary: 'Remove from favorites'
      operationId: removeFromFavorites
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 1757465
                  '@type': Document
                  '@id': file_1757465
                  Access: private
                  Link: /dl/hvHTtlSu92/DOuWhLqnAmCTK7ka
                  OriginalLink: /dl/hvHTtlSu92/DOuWhLqnAmCTK7ka
                  URL: hvHTtlSu92/DOuWhLqnAmCTK7ka
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28137
                    '@type': User
                    Title: null
                    Name: 'Gisselle Cartwright'
                    FirstName: Gisselle
                    LastName: Cartwright
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 1127970481
                    Name: Conroy-Dibbert.rlc
                    Size: 12762437
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.ms-pki.seccat
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:46.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:46.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 1757465
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_1757465
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHTtlSu92/DOuWhLqnAmCTK7ka
                  OriginalLink:
                    type: string
                    example: /dl/hvHTtlSu92/DOuWhLqnAmCTK7ka
                  URL:
                    type: string
                    example: hvHTtlSu92/DOuWhLqnAmCTK7ka
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28137
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Gisselle Cartwright'
                      FirstName:
                        type: string
                        example: Gisselle
                      LastName:
                        type: string
                        example: Cartwright
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 1127970481
                      Name:
                        type: string
                        example: Conroy-Dibbert.rlc
                      Size:
                        type: integer
                        example: 12762437
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: application/vnd.ms-pki.seccat
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}':
    delete:
      summary: 'Delete file'
      operationId: deleteFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}/follow':
    post:
      summary: 'Enable notifications'
      operationId: enableNotifications
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 1757465
                  '@type': Document
                  '@id': file_1757465
                  Access: private
                  Link: /dl/hvHTuJFAci/d7pRMWeDRr6FcxoW
                  OriginalLink: /dl/hvHTuJFAci/d7pRMWeDRr6FcxoW
                  URL: hvHTuJFAci/d7pRMWeDRr6FcxoW
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28138
                    '@type': User
                    Title: null
                    Name: 'Gisselle Cartwright'
                    FirstName: Gisselle
                    LastName: Cartwright
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 12742437
                    Name: 'Ledner Group.scm'
                    Size: 878531811
                    Source: WEB
                    ExternalLink: null
                    MimeType: text/x-pascal
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:46.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:46.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 1757465
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_1757465
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHTuJFAci/d7pRMWeDRr6FcxoW
                  OriginalLink:
                    type: string
                    example: /dl/hvHTuJFAci/d7pRMWeDRr6FcxoW
                  URL:
                    type: string
                    example: hvHTuJFAci/d7pRMWeDRr6FcxoW
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28138
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Gisselle Cartwright'
                      FirstName:
                        type: string
                        example: Gisselle
                      LastName:
                        type: string
                        example: Cartwright
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 12742437
                      Name:
                        type: string
                        example: 'Ledner Group.scm'
                      Size:
                        type: integer
                        example: 878531811
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: text/x-pascal
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}/unfollow':
    post:
      summary: 'Disable notifications'
      operationId: disableNotifications
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 1757465
                  '@type': Document
                  '@id': file_1757465
                  Access: private
                  Link: /dl/hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  OriginalLink: /dl/hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  URL: hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28139
                    '@type': User
                    Title: null
                    Name: 'Gisselle Cartwright'
                    FirstName: Gisselle
                    LastName: Cartwright
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 878511811
                    Name: 'Braun Group.uvm'
                    Size: 1409405062
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.kde.kivio
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:46.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:46.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 1757465
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_1757465
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  OriginalLink:
                    type: string
                    example: /dl/hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  URL:
                    type: string
                    example: hvHTuoT2vo/dDZVwTHbxiGmj2J7
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28139
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Gisselle Cartwright'
                      FirstName:
                        type: string
                        example: Gisselle
                      LastName:
                        type: string
                        example: Cartwright
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 878511811
                      Name:
                        type: string
                        example: 'Braun Group.uvm'
                      Size:
                        type: integer
                        example: 1409405062
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: application/vnd.kde.kivio
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/files/{userFile}/upload/id':
    get:
      summary: 'Prepare file for new version of a file'
      operationId: prepareFileForNewVersionOfAFile
      description: "This is the second step to create a new version of a file. After you get the credentials for the AWS SDK, you will need to call this\nAPI for each file to get the key where to upload the file in S3. Also, keep the `version` property is this will be required when creating a\nnew version of the file after the upload session."
      parameters:
        -
          in: query
          name: name
          description: 'Name of the file'
          example: architecto
          required: true
          schema:
            type: string
            description: 'Name of the file'
            example: architecto
        -
          in: query
          name: size
          description: 'File size'
          example: 16
          required: true
          schema:
            type: integer
            description: 'File size'
            example: 16
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
      deprecated: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                size:
                  type: integer
                  description: ''
                  example: 16
                name:
                  type: string
                  description: ''
                  example: architecto
              required:
                - size
                - name
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/files/{userFile}/upload/token':
    get:
      summary: 'Request upload token for new version of file'
      operationId: requestUploadTokenForNewVersionOfFile
      description: "Returns S3 credentials for upload. All three keys in the response needs to be provided\nin the S3 constructor of the AWS SDK. These keys are valid only for 60 minutes. A good idea is to\nregenerate keys for every upload session (the same key can be used for multiple file uploads made\nin less than 60 minutes). Keep in mind when developing."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
      deprecated: true
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/files/{file_Id}/download':
    get:
      summary: 'Download file'
      operationId: downloadFile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
    parameters:
      -
        in: path
        name: file_Id
        description: ''
        example: 43
        required: true
        schema:
          type: integer
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}/update':
    post:
      summary: 'Update file'
      operationId: updateFile
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 2101666
                  '@type': Document
                  '@id': file_2101666
                  Access: private
                  Link: /dl/hvHU1Qv116/vU623rzdATjlMCPa
                  OriginalLink: /dl/hvHU1Qv116/vU623rzdATjlMCPa
                  URL: hvHU1Qv116/vU623rzdATjlMCPa
                  created_at: '2026-06-29T18:54:47.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:47.000000Z'
                  creator:
                    ID: 28149
                    '@type': User
                    Title: null
                    Name: 'Juliet King'
                    FirstName: Juliet
                    LastName: King
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 751107910
                    Name: 'Anderson LLC.csh'
                    Size: 1705120483
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.shana.informed.formdata
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:47.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:47.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 2101666
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_2101666
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHU1Qv116/vU623rzdATjlMCPa
                  OriginalLink:
                    type: string
                    example: /dl/hvHU1Qv116/vU623rzdATjlMCPa
                  URL:
                    type: string
                    example: hvHU1Qv116/vU623rzdATjlMCPa
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:47.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:47.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28149
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Juliet King'
                      FirstName:
                        type: string
                        example: Juliet
                      LastName:
                        type: string
                        example: King
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 751107910
                      Name:
                        type: string
                        example: 'Anderson LLC.csh'
                      Size:
                        type: integer
                        example: 1705120483
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: application/vnd.shana.informed.formdata
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:47.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:47.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: ''
                  example: 16
                restrict-downloads:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:47'
                  nullable: true
                access:
                  type: string
                  description: ''
                  example: private
                  enum:
                    - private
                    - public
                  nullable: true
                name:
                  type: string
                  description: 'Must be at least 1 character.'
                  example: ngzmiyvdljnikhwa
                  nullable: true
                editable:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 79
                  nullable: true
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/files/{userFile}/versions':
    get:
      summary: 'List versions'
      operationId: listVersions
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Id:
                      type: integer
                      example: 2137449171
                    Name:
                      type: string
                      example: 'Crooks LLC.sse'
                    Size:
                      type: integer
                      example: 1225625784
                    Source:
                      type: string
                      example: WEB
                    ExternalLink:
                      type: string
                      example: null
                      nullable: true
                    MimeType:
                      type: string
                      example: application/vnd.tcpdump.pcap
                    Stored:
                      type: boolean
                      example: true
                    AVStatus:
                      type: string
                      example: clean
                    created_at:
                      type: string
                      example: '2026-06-29T18:54:47.000000Z'
                    Thumbnail:
                      type: string
                      example: null
                      nullable: true
                    creator:
                      type: object
                      properties:
                        ID:
                          type: integer
                          example: 28150
                        '@type':
                          type: string
                          example: User
                        Title:
                          type: string
                          example: null
                          nullable: true
                        Name:
                          type: string
                          example: 'Justina Gaylord'
                        FirstName:
                          type: string
                          example: Justina
                        LastName:
                          type: string
                          example: Gaylord
                        Avatar:
                          type: string
                          example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                        Scope:
                          type: string
                          example: external
                        HasContact:
                          type: boolean
                          example: false
                    '@type':
                      type: string
                      example: Version
                    updated_at:
                      type: string
                      example: '2026-06-29T18:54:47.000000Z'
                    deleted_at:
                      type: string
                      example: null
                      nullable: true
                example:
                  -
                    Id: 2137449171
                    Name: 'Crooks LLC.sse'
                    Size: 1225625784
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.tcpdump.pcap
                    Stored: true
                    AVStatus: clean
                    created_at: '2026-06-29T18:54:47.000000Z'
                    Thumbnail: null
                    creator:
                      ID: 28150
                      '@type': User
                      Title: null
                      Name: 'Justina Gaylord'
                      FirstName: Justina
                      LastName: Gaylord
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope: external
                      HasContact: false
                    '@type': Version
                    updated_at: '2026-06-29T18:54:47.000000Z'
                    deleted_at: null
                  -
                    Id: 1824792549
                    Name: Beier-Bradtke.ait
                    Size: 203705188
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/wspolicy+xml
                    Stored: true
                    AVStatus: clean
                    created_at: '2026-06-29T18:54:48.000000Z'
                    Thumbnail: null
                    creator:
                      ID: 28151
                      '@type': User
                      Title: null
                      Name: 'Elton Conroy'
                      FirstName: Elton
                      LastName: Conroy
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope: external
                      HasContact: false
                    '@type': Version
                    updated_at: '2026-06-29T18:54:48.000000Z'
                    deleted_at: null
      tags:
        - Files
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                limit:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: '!name'
                  enum:
                    - name
                    - '!name'
                    - date
                    - '!date'
                    - creator
                    - '!creator'
                  nullable: true
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/1/documents/{userFile}/metadata':
    get:
      summary: 'Get metadata for secure space, folder or file'
      operationId: getMetadataForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
    put:
      summary: 'Update metadata for secure space, folder or file'
      operationId: updateMetadataForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                metadata:
                  type: Metadata
                  description: 'Specify an object with key:value pairs.'
                  example: '{ "my_key": "my_value" }'
              required:
                - metadata
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 43
        required: true
        schema:
          type: integer
  '/api/1/documents/{file}/download':
    get:
      summary: 'Get file download link'
      operationId: getFileDownloadLink
      description: ''
      parameters: []
      responses:
        403:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: unauthorized
                    message: 'A payment is needed to access this content'
                    type: AuthorizationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: unauthorized
                      message:
                        type: string
                        example: 'A payment is needed to access this content'
                      type:
                        type: string
                        example: AuthorizationException
      tags:
        - Files
    parameters:
      -
        in: path
        name: file
        description: ''
        example: 43
        required: true
        schema:
          type: integer
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/2/files/{userFile}/members':
    get:
      summary: 'Get permissions for secure space, folder or file'
      operationId: getPermissionsForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Files
    post:
      summary: 'Update permissions for secure space, folder or file'
      operationId: updatePermissionsForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Files
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                users:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      Permissions:
                        type: string
                        description: ''
                        example: none
                        enum:
                          - owner
                          - readwrite
                          - readonly
                          - none
                      Notify:
                        type: boolean
                        description: ''
                        example: false
                recursive:
                  type: boolean
                  description: ''
                  example: false
                owner:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - users
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/2/files/{userFile}':
    put:
      summary: 'Update file'
      operationId: updateFile
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 2101666
                  '@type': Document
                  '@id': file_2101666
                  Access: private
                  Link: /dl/hvHUBHCafo/1HfblGYDVT7ITZhn
                  OriginalLink: /dl/hvHUBHCafo/1HfblGYDVT7ITZhn
                  URL: hvHUBHCafo/1HfblGYDVT7ITZhn
                  created_at: '2026-06-29T18:54:49.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:49.000000Z'
                  creator:
                    ID: 28162
                    '@type': User
                    Title: null
                    Name: 'Juliet King'
                    FirstName: Juliet
                    LastName: King
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 1705110483
                    Name: Moen-Kovacek.p
                    Size: 1136171010
                    Source: WEB
                    ExternalLink: null
                    MimeType: image/x-xpixmap
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:49.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:49.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 2101666
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_2101666
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHUBHCafo/1HfblGYDVT7ITZhn
                  OriginalLink:
                    type: string
                    example: /dl/hvHUBHCafo/1HfblGYDVT7ITZhn
                  URL:
                    type: string
                    example: hvHUBHCafo/1HfblGYDVT7ITZhn
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:49.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:49.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28162
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Juliet King'
                      FirstName:
                        type: string
                        example: Juliet
                      LastName:
                        type: string
                        example: King
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 1705110483
                      Name:
                        type: string
                        example: Moen-Kovacek.p
                      Size:
                        type: integer
                        example: 1136171010
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: image/x-xpixmap
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:49.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:49.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: ''
                  example: 16
                restrict-downloads:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:49'
                  nullable: true
                access:
                  type: string
                  description: ''
                  example: private
                  enum:
                    - private
                    - public
                  nullable: true
                name:
                  type: string
                  description: 'Must be at least 1 character.'
                  example: ngzmiyvdljnikhwa
                  nullable: true
                editable:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 79
                  nullable: true
    delete:
      summary: 'Delete file'
      operationId: deleteFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Files
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/2/documents/{userFile}/update':
    post:
      summary: 'Update file'
      operationId: updateFile
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 2101666
                  '@type': Document
                  '@id': file_2101666
                  Access: private
                  Link: /dl/hvHUEH7qs4/wi5HiepBrGa9pvmL
                  OriginalLink: /dl/hvHUEH7qs4/wi5HiepBrGa9pvmL
                  URL: hvHUEH7qs4/wi5HiepBrGa9pvmL
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28167
                    '@type': User
                    Title: null
                    Name: 'Juliet King'
                    FirstName: Juliet
                    LastName: King
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 1415915182
                    Name: 'Dare Group.kia'
                    Size: 347674519
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.lotus-screencam
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:50.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:50.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 2101666
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_2101666
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHUEH7qs4/wi5HiepBrGa9pvmL
                  OriginalLink:
                    type: string
                    example: /dl/hvHUEH7qs4/wi5HiepBrGa9pvmL
                  URL:
                    type: string
                    example: hvHUEH7qs4/wi5HiepBrGa9pvmL
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28167
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Juliet King'
                      FirstName:
                        type: string
                        example: Juliet
                      LastName:
                        type: string
                        example: King
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 1415915182
                      Name:
                        type: string
                        example: 'Dare Group.kia'
                      Size:
                        type: integer
                        example: 347674519
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: application/vnd.lotus-screencam
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: ''
                  example: 16
                restrict-downloads:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:50'
                  nullable: true
                access:
                  type: string
                  description: ''
                  example: private
                  enum:
                    - private
                    - public
                  nullable: true
                name:
                  type: string
                  description: 'Must be at least 1 character.'
                  example: ngzmiyvdljnikhwa
                  nullable: true
                editable:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 79
                  nullable: true
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  '/api/2/files/{fileUrl}':
    get:
      summary: 'Get file'
      operationId: getFile
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 1757465
                  '@type': Document
                  '@id': file_1757465
                  Access: private
                  Link: /dl/hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  OriginalLink: /dl/hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  URL: hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28169
                    '@type': User
                    Title: null
                    Name: 'Gisselle Cartwright'
                    FirstName: Gisselle
                    LastName: Cartwright
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 292421642
                    Name: 'Carter PLC.odft'
                    Size: 1253996409
                    Source: WEB
                    ExternalLink: null
                    MimeType: text/vnd.fmi.flexstor
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:50.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:50.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 1757465
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_1757465
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  OriginalLink:
                    type: string
                    example: /dl/hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  URL:
                    type: string
                    example: hvHUFCkQHA/wvarhK2Kq1Pr8MYY
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28169
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Gisselle Cartwright'
                      FirstName:
                        type: string
                        example: Gisselle
                      LastName:
                        type: string
                        example: Cartwright
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 292421642
                      Name:
                        type: string
                        example: 'Carter PLC.odft'
                      Size:
                        type: integer
                        example: 1253996409
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: text/vnd.fmi.flexstor
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Files
    parameters:
      -
        in: path
        name: fileUrl
        description: ''
        example: '"j8wh2tj/02y772" for: https://app.convoflo.com/dl/j8wh2tj/02y772'
        required: true
        schema:
          type: 'Last part of the file URL'
  /api/1/account/templates:
    get:
      summary: 'List folder templates'
      operationId: listFolderTemplates
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Folder templates'
    post:
      summary: 'Creates a folder template'
      operationId: createsAFolderTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Folder templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: architecto
                children:
                  type: string
                  description: 'Must be a valid JSON string.'
                  example: '["architecto","architecto"]'
              required:
                - name
                - children
  '/api/1/account/templates/{folderTemplate}':
    get:
      summary: 'Get folder template'
      operationId: getFolderTemplate
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\FolderTemplate].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\FolderTemplate].'
      tags:
        - 'Folder templates'
    put:
      summary: 'Updates a folder template'
      operationId: updatesAFolderTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Folder templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: architecto
                children:
                  type: string
                  description: 'Must be a valid JSON string.'
                  example: '["architecto","architecto"]'
              required:
                - name
                - children
    delete:
      summary: 'Deletes a folder template'
      operationId: deletesAFolderTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Folder templates'
    parameters:
      -
        in: path
        name: folderTemplate
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/folders/{userFolder}/notes':
    get:
      summary: 'List internal notes of secure space'
      operationId: listInternalNotesOfSecureSpace
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Internal notes'
    post:
      summary: 'Create internal note'
      operationId: createInternalNote
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Internal notes'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                Title:
                  type: string
                  description: 'The title of the note. Must not be greater than 255 characters.'
                  example: 'My first internal note'
                Content:
                  type: string
                  description: 'The content of the note.'
                  example: 'This is an internal note attached to a secure space.'
              required:
                - Title
                - Content
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/1/notes/{Id}':
    put:
      summary: 'Update internal note'
      operationId: updateInternalNote
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Internal notes'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                Title:
                  type: string
                  description: 'The title of the note. Must not be greater than 255 characters.'
                  example: 'My first internal note'
                Content:
                  type: string
                  description: 'The content of the note.'
                  example: 'This is an internal note attached to a secure space.'
    delete:
      summary: 'Delete internal note'
      operationId: deleteInternalNote
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Internal notes'
    parameters:
      -
        in: path
        name: Id
        description: ''
        example: 532919425574244352
        required: true
        schema:
          type: integer
  '/api/1/files/{userFile}/properties/{modelProperty_Id}':
    put:
      summary: 'Attach label to item'
      operationId: attachLabelToItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
    delete:
      summary: 'Detach label from item'
      operationId: detachLabelFromItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: architecto
        required: true
        schema:
          type: string
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  '/api/1/folders/{userFolder}/properties/{modelProperty_Id}':
    put:
      summary: 'Attach label to item'
      operationId: attachLabelToItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
    delete:
      summary: 'Detach label from item'
      operationId: detachLabelFromItem
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  /api/1/organization/properties:
    get:
      summary: 'List labels'
      operationId: listLabels
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Labels
    post:
      summary: 'Create label'
      operationId: createLabel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                emoji:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                order:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                is_multi:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                property:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - label
  '/api/1/organization/properties/{modelProperty_Id}':
    put:
      summary: 'Update label'
      operationId: updateLabel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                emoji:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                order:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                is_multi:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                property:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - label
    delete:
      summary: 'Delete label'
      operationId: deleteLabel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
    get:
      summary: 'View label'
      operationId: viewLabel
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Labels
    parameters:
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  '/api/1/organization/properties/{modelProperty_Id}/options':
    get:
      summary: 'List label options'
      operationId: listLabelOptions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Labels
    parameters:
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  '/api/1/account/properties/{type}':
    get:
      summary: 'List items by label'
      operationId: listItemsByLabel
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                operator:
                  type: string
                  description: ''
                  example: or
                  enum:
                    - and
                    - or
                sort:
                  type: string
                  description: ''
                  example: date
                  enum:
                    - date
                    - '!date'
                type:
                  type: string
                  description: ''
                  example: messages
                  enum:
                    - folders
                    - files
                    - messages
              required:
                - id
                - type
    parameters:
      -
        in: path
        name: type
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/properties/{modelProperty_Id}':
    put:
      summary: 'Update label'
      operationId: updateLabel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                emoji:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                order:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                is_multi:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                property:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - label
    parameters:
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  '/api/1/folders/{userFolder}/comments.{extension}':
    get:
      summary: 'Export secure space messages'
      operationId: exportSecureSpaceMessages
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 10
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      ID: '594601653047529472'
                      '@type': Comment
                      '@id': msg_594601653047529472
                      Title: 'Illum voluptate pariatur aut magni modi.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:41.000000Z'
                      updated_at: '2026-06-29T18:54:41.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                      preview: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                      Format: markdown
                      audience: all
                    -
                      ID: '594601653806698496'
                      '@type': Comment
                      '@id': msg_594601653806698496
                      Title: 'Pariatur enim necessitatibus provident excepturi labore.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:41.000000Z'
                      updated_at: '2026-06-29T18:54:41.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Gryphon replied very readily: 'but that's because it stays the same year for such a thing before, but she stopped hastily, for the immediate adoption of more broken glass.) 'Now tell me, please, which way she put her hand again, and the Dormouse indignantly. However, he consented to go from here?' 'That depends a good deal frightened by this time, as it lasted.) 'Then the Dormouse shall!' they both bowed low, and their curls got entangled together. Alice was very uncomfortable, and, as there."
                      preview: "Gryphon replied very readily: 'but that's because it stays the same year for such a thing before, but she stopped hastily, for the immediate adoption of more broken glass.) 'Now tell me, please, which way she put her hand again, and the Dormouse indignantly. However, he consented to go from here?' 'That depends a good deal frightened by this time, as it lasted.) 'Then the Dormouse shall!' they both bowed low, and their curls got entangled together. Alice was very uncomfortable, and, as there."
                      Format: markdown
                      audience: all
                  links:
                    first: '/?page=1'
                    last: null
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    current_page_url: '/?page=1'
                    from: 1
                    path: /
                    per_page: 10
                    to: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        ID: '594601653047529472'
                        '@type': Comment
                        '@id': msg_594601653047529472
                        Title: 'Illum voluptate pariatur aut magni modi.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:41.000000Z'
                        updated_at: '2026-06-29T18:54:41.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                        preview: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                        Format: markdown
                        audience: all
                      -
                        ID: '594601653806698496'
                        '@type': Comment
                        '@id': msg_594601653806698496
                        Title: 'Pariatur enim necessitatibus provident excepturi labore.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:41.000000Z'
                        updated_at: '2026-06-29T18:54:41.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Gryphon replied very readily: 'but that's because it stays the same year for such a thing before, but she stopped hastily, for the immediate adoption of more broken glass.) 'Now tell me, please, which way she put her hand again, and the Dormouse indignantly. However, he consented to go from here?' 'That depends a good deal frightened by this time, as it lasted.) 'Then the Dormouse shall!' they both bowed low, and their curls got entangled together. Alice was very uncomfortable, and, as there."
                        preview: "Gryphon replied very readily: 'but that's because it stays the same year for such a thing before, but she stopped hastily, for the immediate adoption of more broken glass.) 'Now tell me, please, which way she put her hand again, and the Dormouse indignantly. However, he consented to go from here?' 'That depends a good deal frightened by this time, as it lasted.) 'Then the Dormouse shall!' they both bowed low, and their curls got entangled together. Alice was very uncomfortable, and, as there."
                        Format: markdown
                        audience: all
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                          example: '594601653047529472'
                        '@type':
                          type: string
                          example: Comment
                        '@id':
                          type: string
                          example: msg_594601653047529472
                        Title:
                          type: string
                          example: 'Illum voluptate pariatur aut magni modi.'
                        Priority:
                          type: integer
                          example: 0
                        pinned_at:
                          type: string
                          example: null
                          nullable: true
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:41.000000Z'
                        updated_at:
                          type: string
                          example: '2026-06-29T18:54:41.000000Z'
                        posted_at:
                          type: string
                          example: null
                          nullable: true
                        archived_at:
                          type: string
                          example: null
                          nullable: true
                        Comment:
                          type: string
                          example: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                        preview:
                          type: string
                          example: "I shall only look up and leave the court; but on second thoughts she decided to remain where she was, and waited. When the sands are all dry, he is gay as a cushion, resting their elbows on it, or at least one of the trees upon her arm, with its mouth open, gazing up into hers--she could hear him sighing as if nothing had happened. 'How am I then? Tell me that first, and then raised himself upon tiptoe, put his mouth close to them, and considered a little, 'From the Queen. 'Never!' said the."
                        Format:
                          type: string
                          example: markdown
                        audience:
                          type: string
                          example: all
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: '/?page=1'
                      last:
                        type: string
                        example: null
                        nullable: true
                      prev:
                        type: string
                        example: null
                        nullable: true
                      next:
                        type: string
                        example: null
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      current_page_url:
                        type: string
                        example: '/?page=1'
                      from:
                        type: integer
                        example: 1
                      path:
                        type: string
                        example: /
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
      tags:
        - Messages
    parameters:
      -
        in: path
        name: userFolder
        description: 'The ID of the secure space'
        example: 297646282
        required: true
        schema:
          type: integer
      -
        in: path
        name: extension
        description: 'Format of the response. Defaults to pdf'
        example: pdf
        required: true
        schema:
          type: string
  '/api/1/folders/{userFolder}/comments':
    get:
      summary: 'List messages for secure space'
      operationId: listMessagesForSecureSpace
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 10
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      ID: '594601654737833984'
                      '@type': Comment
                      '@id': msg_594601654737833984
                      Title: 'Adipisci quidem nostrum qui commodi.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:41.000000Z'
                      updated_at: '2026-06-29T18:54:41.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      Format: markdown
                      audience: all
                    -
                      ID: '594601655568306176'
                      '@type': Comment
                      '@id': msg_594601655568306176
                      Title: 'A consectetur assumenda eaque.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:41.000000Z'
                      updated_at: '2026-06-29T18:54:41.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Do come back in a languid, sleepy voice. 'Who are YOU?' said the Lory hastily. 'I don't like them!' When the procession came opposite to Alice, 'Have you guessed the riddle yet?' the Hatter said, tossing his head mournfully. 'Not I!' he replied. 'We quarrelled last March--just before HE went mad, you know--' She had already heard her voice sounded hoarse and strange, and the whole window!' 'Sure, it does, yer honour: but it's an arm for all that.' 'With extras?' asked the Gryphon, before Alice."
                      preview: "Do come back in a languid, sleepy voice. 'Who are YOU?' said the Lory hastily. 'I don't like them!' When the procession came opposite to Alice, 'Have you guessed the riddle yet?' the Hatter said, tossing his head mournfully. 'Not I!' he replied. 'We quarrelled last March--just before HE went mad, you know--' She had already heard her voice sounded hoarse and strange, and the whole window!' 'Sure, it does, yer honour: but it's an arm for all that.' 'With extras?' asked the Gryphon, before Alice."
                      Format: markdown
                      audience: all
                  links:
                    first: '/?page=1'
                    last: '/?page=1'
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 1
                    links:
                      -
                        url: null
                        label: pagination.previous
                        page: null
                        active: false
                      -
                        url: '/?page=1'
                        label: '1'
                        page: 1
                        active: true
                      -
                        url: null
                        label: pagination.next
                        page: null
                        active: false
                    path: /
                    per_page: 10
                    to: 2
                    total: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        ID: '594601654737833984'
                        '@type': Comment
                        '@id': msg_594601654737833984
                        Title: 'Adipisci quidem nostrum qui commodi.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:41.000000Z'
                        updated_at: '2026-06-29T18:54:41.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format: markdown
                        audience: all
                      -
                        ID: '594601655568306176'
                        '@type': Comment
                        '@id': msg_594601655568306176
                        Title: 'A consectetur assumenda eaque.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:41.000000Z'
                        updated_at: '2026-06-29T18:54:41.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Do come back in a languid, sleepy voice. 'Who are YOU?' said the Lory hastily. 'I don't like them!' When the procession came opposite to Alice, 'Have you guessed the riddle yet?' the Hatter said, tossing his head mournfully. 'Not I!' he replied. 'We quarrelled last March--just before HE went mad, you know--' She had already heard her voice sounded hoarse and strange, and the whole window!' 'Sure, it does, yer honour: but it's an arm for all that.' 'With extras?' asked the Gryphon, before Alice."
                        preview: "Do come back in a languid, sleepy voice. 'Who are YOU?' said the Lory hastily. 'I don't like them!' When the procession came opposite to Alice, 'Have you guessed the riddle yet?' the Hatter said, tossing his head mournfully. 'Not I!' he replied. 'We quarrelled last March--just before HE went mad, you know--' She had already heard her voice sounded hoarse and strange, and the whole window!' 'Sure, it does, yer honour: but it's an arm for all that.' 'With extras?' asked the Gryphon, before Alice."
                        Format: markdown
                        audience: all
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                          example: '594601654737833984'
                        '@type':
                          type: string
                          example: Comment
                        '@id':
                          type: string
                          example: msg_594601654737833984
                        Title:
                          type: string
                          example: 'Adipisci quidem nostrum qui commodi.'
                        Priority:
                          type: integer
                          example: 0
                        pinned_at:
                          type: string
                          example: null
                          nullable: true
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:41.000000Z'
                        updated_at:
                          type: string
                          example: '2026-06-29T18:54:41.000000Z'
                        posted_at:
                          type: string
                          example: null
                          nullable: true
                        archived_at:
                          type: string
                          example: null
                          nullable: true
                        Comment:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format:
                          type: string
                          example: markdown
                        audience:
                          type: string
                          example: all
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: '/?page=1'
                      last:
                        type: string
                        example: '/?page=1'
                      prev:
                        type: string
                        example: null
                        nullable: true
                      next:
                        type: string
                        example: null
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: pagination.previous
                            page: null
                            active: false
                          -
                            url: '/?page=1'
                            label: '1'
                            page: 1
                            active: true
                          -
                            url: null
                            label: pagination.next
                            page: null
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                              nullable: true
                            label:
                              type: string
                              example: pagination.previous
                            page:
                              type: string
                              example: null
                              nullable: true
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: /
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
                      total:
                        type: integer
                        example: 2
      tags:
        - Messages
    post:
      summary: 'Post a message to secure space'
      operationId: postAMessageToSecureSpace
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601656436527104'
                  '@type': Comment
                  '@id': msg_594601656436527104
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:42.000000Z'
                  updated_at: '2026-06-29T18:54:42.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601656436527104'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601656436527104
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:42.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:42.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                comment:
                  type: string
                  description: 'Can be a string, HTML, or ProseMirror-compatible JSON object supported by Convoflo'
                  example: '{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"This is the body"}]}]}'
                source:
                  type: string
                  description: 'Source of the message.'
                  example: external_inbox
                  enum:
                    - compose_root
                    - compose
                    - message_list
                    - legacy_reminder
                    - scheduled
                    - secure_space_invitation
                    - inbox
                    - onboarding
                    - import
                    - microsoft
                    - outlook
                    - outlook_forward
                    - zapier
                    - external_inbox
                    - request_review
                    - yearly_assessment
                status:
                  type: string
                  description: 'Status of the message. Set to "draft" to create as draft (posted_at will be null), or "sent" to create as sent immediately.'
                  example: draft
                  enum:
                    - draft
                    - sent
                title:
                  type: string
                  description: 'Subject of message like one you would find in an email'
                  example: "Regarding last week's message..."
                parent_id:
                  type: integer
                  description: 'Provide the ID of the parent message to post a message as a reply'
                  example: 383627837632
                users:
                  type: array
                  description: 'IDs of the users that the message will only be visible to. These users must be members of the secure space'
                  example:
                    - 8637364
                    - 27627625
                  items:
                    type: integer
                files:
                  type: array
                  description: 'Provide file IDs to attach them to this message, like file attachments you would find in an email message.'
                  example:
                    - 82672644
                    - 292838672
                  items:
                    type: integer
                file_request_id:
                  type: integer
                  description: 'Provide the ID of the file request to attach it to the message'
                  example: 893726727364
                payment_request_id:
                  type: integer
                  description: 'Provide the ID of the payment request to attach it to the message'
                  example: 93467376373
                paywalled_files:
                  type: array
                  description: 'IDs of the files that are blocked until a payment is made'
                  example:
                    - 19272163
                    - 1889266
                    - 89272624
                  items:
                    type: integer
                ignore_notifications_for:
                  type: array
                  description: 'Provide the user IDs to prevent them from being notified of the new message.'
                  example:
                    - 2926644
                  items:
                    type: integer
                read_notification:
                  type: boolean
                  description: 'Set to true to enable read receipt. You will get a notification when this message will be read.'
                  example: true
                show_preview:
                  type: boolean
                  description: 'Set to true to display the message in the notification email sent to the users.'
                  example: true
                priority:
                  type: integer
                  description: 'Set to `1` to mark this message as important, such as what you would find in an email.'
                  example: true
                parent_url:
                  type: string
                  description: 'Provide the full URL of the parent message to post a message as a reply'
                  example: 'https://app.convoflo.com/vf/cj4S5aJikq/IVBN8Y5LT35e63zY/comments?comment=7364738647834'
                  deprecated: true
                message_id:
                  type: integer
                  description: 'Provide the canned message ID to set the content of the message to. Replaces the `comment` parameter.'
                  example: 73783623
                  deprecated: true
              required:
                - comment
                - source
    parameters:
      -
        in: path
        name: userFolder
        description: 'The ID of the secure space'
        example: 297646282
        required: true
        schema:
          type: integer
  /api/1/messages/sent:
    get:
      summary: 'List sent messages'
      operationId: listSentMessages
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 10
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      ID: '594601657246027776'
                      '@type': Comment
                      '@id': msg_594601657246027776
                      Title: 'Adipisci quidem nostrum qui commodi.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:42.000000Z'
                      updated_at: '2026-06-29T18:54:42.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      Format: markdown
                      audience: all
                    -
                      ID: '594601658013585408'
                      '@type': Comment
                      '@id': msg_594601658013585408
                      Title: 'Odit ut perspiciatis rem dolorem aut.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:42.000000Z'
                      updated_at: '2026-06-29T18:54:42.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "The table was a different person then.' 'Explain all that,' said the Gryphon: and Alice could see, when she got into it), and handed back to yesterday, because I was a large ring, with the bread-and-butter getting so used to say.' 'So he did, so he did,' said the Duchess, as she came rather late, and the beak-- Pray how did you manage to do it?' 'In my youth,' said his father, 'I took to the conclusion that it led into the court, without even looking round. 'I'll fetch the executioner went off."
                      preview: "The table was a different person then.' 'Explain all that,' said the Gryphon: and Alice could see, when she got into it), and handed back to yesterday, because I was a large ring, with the bread-and-butter getting so used to say.' 'So he did, so he did,' said the Duchess, as she came rather late, and the beak-- Pray how did you manage to do it?' 'In my youth,' said his father, 'I took to the conclusion that it led into the court, without even looking round. 'I'll fetch the executioner went off."
                      Format: markdown
                      audience: all
                  links:
                    first: '/?page=1'
                    last: null
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    current_page_url: '/?page=1'
                    from: 1
                    path: /
                    per_page: 10
                    to: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        ID: '594601657246027776'
                        '@type': Comment
                        '@id': msg_594601657246027776
                        Title: 'Adipisci quidem nostrum qui commodi.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:42.000000Z'
                        updated_at: '2026-06-29T18:54:42.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format: markdown
                        audience: all
                      -
                        ID: '594601658013585408'
                        '@type': Comment
                        '@id': msg_594601658013585408
                        Title: 'Odit ut perspiciatis rem dolorem aut.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:42.000000Z'
                        updated_at: '2026-06-29T18:54:42.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "The table was a different person then.' 'Explain all that,' said the Gryphon: and Alice could see, when she got into it), and handed back to yesterday, because I was a large ring, with the bread-and-butter getting so used to say.' 'So he did, so he did,' said the Duchess, as she came rather late, and the beak-- Pray how did you manage to do it?' 'In my youth,' said his father, 'I took to the conclusion that it led into the court, without even looking round. 'I'll fetch the executioner went off."
                        preview: "The table was a different person then.' 'Explain all that,' said the Gryphon: and Alice could see, when she got into it), and handed back to yesterday, because I was a large ring, with the bread-and-butter getting so used to say.' 'So he did, so he did,' said the Duchess, as she came rather late, and the beak-- Pray how did you manage to do it?' 'In my youth,' said his father, 'I took to the conclusion that it led into the court, without even looking round. 'I'll fetch the executioner went off."
                        Format: markdown
                        audience: all
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                          example: '594601657246027776'
                        '@type':
                          type: string
                          example: Comment
                        '@id':
                          type: string
                          example: msg_594601657246027776
                        Title:
                          type: string
                          example: 'Adipisci quidem nostrum qui commodi.'
                        Priority:
                          type: integer
                          example: 0
                        pinned_at:
                          type: string
                          example: null
                          nullable: true
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:42.000000Z'
                        updated_at:
                          type: string
                          example: '2026-06-29T18:54:42.000000Z'
                        posted_at:
                          type: string
                          example: null
                          nullable: true
                        archived_at:
                          type: string
                          example: null
                          nullable: true
                        Comment:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format:
                          type: string
                          example: markdown
                        audience:
                          type: string
                          example: all
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: '/?page=1'
                      last:
                        type: string
                        example: null
                        nullable: true
                      prev:
                        type: string
                        example: null
                        nullable: true
                      next:
                        type: string
                        example: null
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      current_page_url:
                        type: string
                        example: '/?page=1'
                      from:
                        type: integer
                        example: 1
                      path:
                        type: string
                        example: /
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
      tags:
        - Messages
  /api/1/messages/recent:
    get:
      summary: 'List received messages'
      operationId: listReceivedMessages
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 10
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      ID: '594601658890194944'
                      '@type': Comment
                      '@id': msg_594601658890194944
                      Title: 'Adipisci quidem nostrum qui commodi.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:42.000000Z'
                      updated_at: '2026-06-29T18:54:42.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      Format: markdown
                      audience: all
                    -
                      ID: '594601659666141184'
                      '@type': Comment
                      '@id': msg_594601659666141184
                      Title: 'Quis ut dolores omnis et earum.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:42.000000Z'
                      updated_at: '2026-06-29T18:54:42.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Rabbit in a bit.' 'Perhaps it doesn't matter much,' thought Alice, 'or perhaps they won't walk the way I ought to tell them something more. 'You promised to tell me your history, you know,' said the King, going up to her in an angry voice--the Rabbit's--'Pat! Pat! Where are you?' said Alice, very loudly and decidedly, and the Queen in front of the Queen of Hearts, she made out the Fish-Footman was gone, and the Dormouse indignantly. However, he consented to go after that savage Queen: so she."
                      preview: "Rabbit in a bit.' 'Perhaps it doesn't matter much,' thought Alice, 'or perhaps they won't walk the way I ought to tell them something more. 'You promised to tell me your history, you know,' said the King, going up to her in an angry voice--the Rabbit's--'Pat! Pat! Where are you?' said Alice, very loudly and decidedly, and the Queen in front of the Queen of Hearts, she made out the Fish-Footman was gone, and the Dormouse indignantly. However, he consented to go after that savage Queen: so she."
                      Format: markdown
                      audience: all
                  links:
                    first: '/?page=1'
                    last: null
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    current_page_url: '/?page=1'
                    from: 1
                    path: /
                    per_page: 10
                    to: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        ID: '594601658890194944'
                        '@type': Comment
                        '@id': msg_594601658890194944
                        Title: 'Adipisci quidem nostrum qui commodi.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:42.000000Z'
                        updated_at: '2026-06-29T18:54:42.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format: markdown
                        audience: all
                      -
                        ID: '594601659666141184'
                        '@type': Comment
                        '@id': msg_594601659666141184
                        Title: 'Quis ut dolores omnis et earum.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:42.000000Z'
                        updated_at: '2026-06-29T18:54:42.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Rabbit in a bit.' 'Perhaps it doesn't matter much,' thought Alice, 'or perhaps they won't walk the way I ought to tell them something more. 'You promised to tell me your history, you know,' said the King, going up to her in an angry voice--the Rabbit's--'Pat! Pat! Where are you?' said Alice, very loudly and decidedly, and the Queen in front of the Queen of Hearts, she made out the Fish-Footman was gone, and the Dormouse indignantly. However, he consented to go after that savage Queen: so she."
                        preview: "Rabbit in a bit.' 'Perhaps it doesn't matter much,' thought Alice, 'or perhaps they won't walk the way I ought to tell them something more. 'You promised to tell me your history, you know,' said the King, going up to her in an angry voice--the Rabbit's--'Pat! Pat! Where are you?' said Alice, very loudly and decidedly, and the Queen in front of the Queen of Hearts, she made out the Fish-Footman was gone, and the Dormouse indignantly. However, he consented to go after that savage Queen: so she."
                        Format: markdown
                        audience: all
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                          example: '594601658890194944'
                        '@type':
                          type: string
                          example: Comment
                        '@id':
                          type: string
                          example: msg_594601658890194944
                        Title:
                          type: string
                          example: 'Adipisci quidem nostrum qui commodi.'
                        Priority:
                          type: integer
                          example: 0
                        pinned_at:
                          type: string
                          example: null
                          nullable: true
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:42.000000Z'
                        updated_at:
                          type: string
                          example: '2026-06-29T18:54:42.000000Z'
                        posted_at:
                          type: string
                          example: null
                          nullable: true
                        archived_at:
                          type: string
                          example: null
                          nullable: true
                        Comment:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format:
                          type: string
                          example: markdown
                        audience:
                          type: string
                          example: all
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: '/?page=1'
                      last:
                        type: string
                        example: null
                        nullable: true
                      prev:
                        type: string
                        example: null
                        nullable: true
                      next:
                        type: string
                        example: null
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      current_page_url:
                        type: string
                        example: '/?page=1'
                      from:
                        type: integer
                        example: 1
                      path:
                        type: string
                        example: /
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
      tags:
        - Messages
  '/api/1/comments/{comment}':
    get:
      summary: 'Retrieve a message'
      operationId: retrieveAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601660706328576'
                  '@type': Comment
                  '@id': msg_594601660706328576
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:43.000000Z'
                  updated_at: '2026-06-29T18:54:43.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601660706328576'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601660706328576
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment
        description: 'ID of the message'
        example: 892782389621
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/read':
    put:
      summary: 'Mark a message as read'
      operationId: markAMessageAsRead
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601661503246336'
                  '@type': Comment
                  '@id': msg_594601661503246336
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:43.000000Z'
                  updated_at: '2026-06-29T18:54:43.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601661503246336'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601661503246336
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    delete:
      summary: 'Mark a message as unread'
      operationId: markAMessageAsUnread
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601662409216000'
                  '@type': Comment
                  '@id': msg_594601662409216000
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:43.000000Z'
                  updated_at: '2026-06-29T18:54:43.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601662409216000'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601662409216000
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/likes':
    put:
      summary: 'Like a message'
      operationId: likeAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601663319379968'
                  '@type': Comment
                  '@id': msg_594601663319379968
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:43.000000Z'
                  updated_at: '2026-06-29T18:54:43.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601663319379968'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601663319379968
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    delete:
      summary: 'Unlike a message'
      operationId: unlikeAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601664154046464'
                  '@type': Comment
                  '@id': msg_594601664154046464
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:43.000000Z'
                  updated_at: '2026-06-29T18:54:43.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601664154046464'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601664154046464
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:43.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment}/properties/{modelProperty_Id}':
    put:
      summary: 'Attach a label to message'
      operationId: attachALabelToMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601665055821824'
                  '@type': Comment
                  '@id': msg_594601665055821824
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:44.000000Z'
                  updated_at: '2026-06-29T18:54:44.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601665055821824'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601665055821824
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    delete:
      summary: 'Detach a label from a message'
      operationId: detachALabelFromAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601665919848448'
                  '@type': Comment
                  '@id': msg_594601665919848448
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:44.000000Z'
                  updated_at: '2026-06-29T18:54:44.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601665919848448'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601665919848448
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment
        description: 'The comment.'
        example: 375014434076233728
        required: true
        schema:
          type: integer
      -
        in: path
        name: modelProperty_Id
        description: ''
        example: 295923557924474880
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/attachments':
    post:
      summary: 'Add attachments to a message'
      operationId: addAttachmentsToAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601666737737728'
                  '@type': Comment
                  '@id': msg_594601666737737728
                  Title: 'Et animi quos velit.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:44.000000Z'
                  updated_at: '2026-06-29T18:54:44.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  preview: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601666737737728'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601666737737728
                  Title:
                    type: string
                    example: 'Et animi quos velit.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  preview:
                    type: string
                    example: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: 'Provide file IDs to attach them to this message'
                  example:
                    - 82672644
                    - 292838672
                  items:
                    type: integer
              required:
                - files
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
      -
        in: path
        name: comment
        description: 'ID of the message'
        example: 892782389621
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/attachments/{attachment_Id}':
    delete:
      summary: 'Remove an attachment from a message'
      operationId: removeAnAttachmentFromAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601667605958656'
                  '@type': Comment
                  '@id': msg_594601667605958656
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:44.000000Z'
                  updated_at: '2026-06-29T18:54:44.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601667605958656'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601667605958656
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
      -
        in: path
        name: attachment_Id
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: comment
        description: 'ID of the message'
        example: 892782389621
        required: true
        schema:
          type: integer
      -
        in: path
        name: attachment
        description: 'ID of the attachment to remove'
        example: 123456
        required: true
        schema:
          type: integer
  '/api/1/comments/{archivedMessage}':
    delete:
      summary: 'Delete a message'
      operationId: deleteAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601668474179584'
                  '@type': Comment
                  '@id': msg_594601668474179584
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:44.000000Z'
                  updated_at: '2026-06-29T18:54:44.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601668474179584'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601668474179584
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:44.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: archivedMessage
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}':
    put:
      summary: 'Edit a message'
      operationId: editAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601669296263168'
                  '@type': Comment
                  '@id': msg_594601669296263168
                  Title: 'Et animi quos velit.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:45.000000Z'
                  updated_at: '2026-06-29T18:54:45.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  preview: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601669296263168'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601669296263168
                  Title:
                    type: string
                    example: 'Et animi quos velit.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  preview:
                    type: string
                    example: "I give it up,' Alice replied: 'what's the answer?' 'I haven't the slightest idea,' said the Hatter. 'I told you butter wouldn't suit the works!' he added looking angrily at the Cat's head began fading away the time. Alice had begun to think to herself, 'I don't see,' said the Queen, and in despair she put her hand on the other side of the trees behind him. '--or next day, maybe,' the Footman went on in a natural way. 'I thought it over afterwards, it occurred to her very much pleased at having."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                comment:
                  type: string
                  description: 'This field is required when <code>status</code> is not present.'
                  example: null
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: true
                priority:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: sent
                  enum:
                    - draft
                    - sent
                  nullable: true
                files:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                users:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
              required:
                - files
                - users
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/pin':
    put:
      summary: 'Pin a message'
      operationId: pinAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601670177067008'
                  '@type': Comment
                  '@id': msg_594601670177067008
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:45.000000Z'
                  updated_at: '2026-06-29T18:54:45.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601670177067008'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601670177067008
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{comment_ID}/unpin':
    put:
      summary: 'Unpin a message'
      operationId: unpinAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601671028510720'
                  '@type': Comment
                  '@id': msg_594601671028510720
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:45.000000Z'
                  updated_at: '2026-06-29T18:54:45.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601671028510720'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601671028510720
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: comment_ID
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/1/comments/{archivedMessage}/unarchive':
    put:
      summary: 'Unarchive a message'
      operationId: unarchiveAMessage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: '594601671909314560'
                  '@type': Comment
                  '@id': msg_594601671909314560
                  Title: 'Adipisci quidem nostrum qui commodi.'
                  Priority: 0
                  pinned_at: null
                  created_at: '2026-06-29T18:54:45.000000Z'
                  updated_at: '2026-06-29T18:54:45.000000Z'
                  posted_at: null
                  archived_at: null
                  Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format: markdown
                  audience: all
                properties:
                  ID:
                    type: string
                    example: '594601671909314560'
                  '@type':
                    type: string
                    example: Comment
                  '@id':
                    type: string
                    example: msg_594601671909314560
                  Title:
                    type: string
                    example: 'Adipisci quidem nostrum qui commodi.'
                  Priority:
                    type: integer
                    example: 0
                  pinned_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:45.000000Z'
                  posted_at:
                    type: string
                    example: null
                    nullable: true
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Comment:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  preview:
                    type: string
                    example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                  Format:
                    type: string
                    example: markdown
                  audience:
                    type: string
                    example: all
      tags:
        - Messages
    parameters:
      -
        in: path
        name: archivedMessage
        description: ''
        example: 375014434076233728
        required: true
        schema:
          type: integer
  '/api/2/folders/{secureSpace}/comments':
    get:
      summary: 'List messages for secure space'
      operationId: listMessagesForSecureSpace
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 10
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      ID: '594601686681653248'
                      '@type': Comment
                      '@id': msg_594601686681653248
                      Title: 'Adipisci quidem nostrum qui commodi.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:49.000000Z'
                      updated_at: '2026-06-29T18:54:49.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                      Format: markdown
                      audience: all
                    -
                      ID: '594601687486959616'
                      '@type': Comment
                      '@id': msg_594601687486959616
                      Title: 'Error vel omnis tempora nulla.'
                      Priority: 0
                      pinned_at: null
                      created_at: '2026-06-29T18:54:49.000000Z'
                      updated_at: '2026-06-29T18:54:49.000000Z'
                      posted_at: null
                      archived_at: null
                      Comment: "Rabbit began. Alice thought this must ever be A secret, kept from all the rest waited in silence. At last the Gryphon never learnt it.' 'Hadn't time,' said the March Hare moved into the court, by the hand, it hurried off, without waiting for the Dormouse,' thought Alice; but she had caught the flamingo and brought it back, the fight was over, and both creatures hid their faces in their paws. 'And how did you ever see you again, you dear old thing!' said the Gryphon, sighing in his note-book."
                      preview: "Rabbit began. Alice thought this must ever be A secret, kept from all the rest waited in silence. At last the Gryphon never learnt it.' 'Hadn't time,' said the March Hare moved into the court, by the hand, it hurried off, without waiting for the Dormouse,' thought Alice; but she had caught the flamingo and brought it back, the fight was over, and both creatures hid their faces in their paws. 'And how did you ever see you again, you dear old thing!' said the Gryphon, sighing in his note-book."
                      Format: markdown
                      audience: all
                  links:
                    first: '/?page=1'
                    last: '/?page=1'
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 1
                    links:
                      -
                        url: null
                        label: pagination.previous
                        page: null
                        active: false
                      -
                        url: '/?page=1'
                        label: '1'
                        page: 1
                        active: true
                      -
                        url: null
                        label: pagination.next
                        page: null
                        active: false
                    path: /
                    per_page: 10
                    to: 2
                    total: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        ID: '594601686681653248'
                        '@type': Comment
                        '@id': msg_594601686681653248
                        Title: 'Adipisci quidem nostrum qui commodi.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:49.000000Z'
                        updated_at: '2026-06-29T18:54:49.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format: markdown
                        audience: all
                      -
                        ID: '594601687486959616'
                        '@type': Comment
                        '@id': msg_594601687486959616
                        Title: 'Error vel omnis tempora nulla.'
                        Priority: 0
                        pinned_at: null
                        created_at: '2026-06-29T18:54:49.000000Z'
                        updated_at: '2026-06-29T18:54:49.000000Z'
                        posted_at: null
                        archived_at: null
                        Comment: "Rabbit began. Alice thought this must ever be A secret, kept from all the rest waited in silence. At last the Gryphon never learnt it.' 'Hadn't time,' said the March Hare moved into the court, by the hand, it hurried off, without waiting for the Dormouse,' thought Alice; but she had caught the flamingo and brought it back, the fight was over, and both creatures hid their faces in their paws. 'And how did you ever see you again, you dear old thing!' said the Gryphon, sighing in his note-book."
                        preview: "Rabbit began. Alice thought this must ever be A secret, kept from all the rest waited in silence. At last the Gryphon never learnt it.' 'Hadn't time,' said the March Hare moved into the court, by the hand, it hurried off, without waiting for the Dormouse,' thought Alice; but she had caught the flamingo and brought it back, the fight was over, and both creatures hid their faces in their paws. 'And how did you ever see you again, you dear old thing!' said the Gryphon, sighing in his note-book."
                        Format: markdown
                        audience: all
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                          example: '594601686681653248'
                        '@type':
                          type: string
                          example: Comment
                        '@id':
                          type: string
                          example: msg_594601686681653248
                        Title:
                          type: string
                          example: 'Adipisci quidem nostrum qui commodi.'
                        Priority:
                          type: integer
                          example: 0
                        pinned_at:
                          type: string
                          example: null
                          nullable: true
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:49.000000Z'
                        updated_at:
                          type: string
                          example: '2026-06-29T18:54:49.000000Z'
                        posted_at:
                          type: string
                          example: null
                          nullable: true
                        archived_at:
                          type: string
                          example: null
                          nullable: true
                        Comment:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        preview:
                          type: string
                          example: "Pigeon, raising its voice to its feet, ran round the hall, but they were all turning into little cakes as they lay on the end of half those long words, and, what's more, I don't care which happens!' She ate a little timidly, 'why you are very dull!' 'You ought to have any rules in particular; at least, if there are, nobody attends to them--and you've no idea how confusing it is you hate--C and D,' she added in an undertone, 'important--unimportant--unimportant--important--' as if nothing had."
                        Format:
                          type: string
                          example: markdown
                        audience:
                          type: string
                          example: all
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: '/?page=1'
                      last:
                        type: string
                        example: '/?page=1'
                      prev:
                        type: string
                        example: null
                        nullable: true
                      next:
                        type: string
                        example: null
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: pagination.previous
                            page: null
                            active: false
                          -
                            url: '/?page=1'
                            label: '1'
                            page: 1
                            active: true
                          -
                            url: null
                            label: pagination.next
                            page: null
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                              nullable: true
                            label:
                              type: string
                              example: pagination.previous
                            page:
                              type: string
                              example: null
                              nullable: true
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: /
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
                      total:
                        type: integer
                        example: 2
      tags:
        - Messages
    parameters:
      -
        in: path
        name: secureSpace
        description: ''
        example: 20
        required: true
        schema:
          type: integer
      -
        in: path
        name: userFolder
        description: 'The ID of the secure space'
        example: 297646282
        required: true
        schema:
          type: integer
  '/api/1/inbox/{notification_Id}':
    get:
      summary: 'Get notification'
      operationId: getNotification
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Notifications
    parameters:
      -
        in: path
        name: notification_Id
        description: ''
        example: 70
        required: true
        schema:
          type: integer
  /api/1/account/notifications:
    get:
      summary: 'List notifications'
      operationId: listNotifications
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Notifications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:47'
                  nullable: true
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:47'
                  nullable: true
                actions:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                users:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                scope:
                  type: string
                  description: ''
                  example: external
                  enum:
                    - internal
                    - external
                  nullable: true
                unread:
                  type: boolean
                  description: Options.
                  example: true
                  nullable: true
                limit:
                  type: integer
                  description: ''
                  example: 16
              required:
                - actions
                - users
    put:
      summary: 'Marks the notification as read'
      operationId: marksTheNotificationAsRead
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Notifications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                types:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                notifications:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                notifiable_id:
                  type: object
                  description: 'Must match the regex [a-z]+_[0-9]+.'
                  example: null
                  properties: {  }
                uuid:
                  type: array
                  description: 'Must be a valid UUID.'
                  example:
                    - a4855dc5-0acb-33c3-b921-f4291f719ca0
                  items:
                    type: string
                items:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                scope:
                  type: string
                  description: ''
                  example: external
                  enum:
                    - external
                    - internal
                  nullable: true
                read:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                read_from:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - types
                - notifications
                - uuid
                - items
  /api/1/organization:
    get:
      summary: 'Get organization'
      operationId: getOrganization
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Organization
    put:
      summary: 'Update organization'
      operationId: updateOrganization
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Organization
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: architecto
                secure_space_session_timeout:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 22
                  nullable: true
                email_notification_privacy_level:
                  type: integer
                  description: 'Must be at least 0. Must not be greater than 2.'
                  example: 1
                  nullable: true
                logo_light:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 1024 kilobytes.'
                logo_dark:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 1024 kilobytes.'
                reminder_intervals:
                  type: array
                  description: 'Must be at least 1.'
                  example:
                    - 66
                  items:
                    type: integer
                type:
                  type: string
                  description: ''
                  example: architecto
                employee_count:
                  type: string
                  description: ''
                  example: architecto
                apply_to_all:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                tabs_order:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                secure_space_terms:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                mfa_policy:
                  type: string
                  description: ''
                  example: external
                  enum:
                    - external
                    - internal
                  nullable: true
                password_policy:
                  type: object
                  description: ''
                  example: null
                  properties:
                    min:
                      type: integer
                      description: 'Must be at least 8.'
                      example: 62
                      nullable: true
                    symbols:
                      type: boolean
                      description: ''
                      example: false
                      nullable: true
                    uncompromised:
                      type: boolean
                      description: ''
                      example: true
                      nullable: true
                    strength:
                      type: integer
                      description: 'Must be at least 0. Must not be greater than 4.'
                      example: 3
                      nullable: true
                  nullable: true
                theme:
                  type: object
                  description: ''
                  example: []
                  properties:
                    primary-color:
                      type: string
                      description: 'Must match the regex /\#[0-9a-f]{6}/i.'
                      example: '#5c489f/i'
                    inverse-color:
                      type: string
                      description: 'Must match the regex /\#[0-9a-f]{6}/i.'
                      example: '#5c489f/i'
                    gray:
                      type: string
                      description: ''
                      example: neutral
                      enum:
                        - slate
                        - base-gray
                        - zinc
                        - neutral
                        - stone
                support_url:
                  type: string
                  description: ''
                  example: null
                defaults:
                  type: object
                  description: Defaults.
                  example: null
                  properties:
                    secureSpace:
                      type: object
                      description: ''
                      example: null
                      properties:
                        readonly:
                          type: boolean
                          description: ''
                          example: false
                          nullable: true
                        scope:
                          type: boolean
                          description: ''
                          example: false
                          nullable: true
                        expiryIntervalInDays:
                          type: integer
                          description: 'Must be at least 0. Must not be greater than 366.'
                          example: 5
                          nullable: true
                        defaults:
                          type: object
                          description: ''
                          example: []
                          properties:
                            file:
                              type: object
                              description: ''
                              example: []
                              properties:
                                created:
                                  type: object
                                  description: ''
                                  example: []
                                  properties:
                                    properties:
                                      type: array
                                      description: ''
                                      example: [architecto]
                                      items: { type: string }
                                  required:
                                    - properties
                                viewed:
                                  type: object
                                  description: ''
                                  example: []
                                  properties:
                                    properties:
                                      type: array
                                      description: ''
                                      example: [architecto]
                                      items: { type: string }
                                  required:
                                    - properties
                    message:
                      type: object
                      description: ''
                      example: null
                      properties:
                        importance:
                          type: boolean
                          description: ''
                          example: false
                          nullable: true
                        subject:
                          type: string
                          description: ''
                          example: architecto
                          nullable: true
                    file:
                      type: object
                      description: ''
                      example: null
                      properties:
                        subject:
                          type: string
                          description: ''
                          example: architecto
                          nullable: true
                        access:
                          type: boolean
                          description: ''
                          example: true
                          nullable: true
                        restrict-downloads:
                          type: boolean
                          description: ''
                          example: false
                          nullable: true
                        editable:
                          type: boolean
                          description: ''
                          example: false
                          nullable: true
              required:
                - tabs_order
  /api/1/organization/environment:
    put:
      summary: 'Update organization branding'
      operationId: updateOrganizationBranding
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Organization
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                theme:
                  type: object
                  description: ''
                  example: []
                  properties:
                    primary-color:
                      type: string
                      description: 'Must match the regex /\#[0-9a-f]{6}/i.'
                      example: '#5c489f/i'
                    secondary-color:
                      type: string
                      description: 'Must match the regex /\#[0-9a-f]{6}/i.'
                      example: '#5c489f/i'
                    inverse-color:
                      type: string
                      description: 'Must match the regex /\#[0-9a-f]{6}/i.'
                      example: '#5c489f/i'
                    gray:
                      type: string
                      description: ''
                      example: base-gray
                      enum:
                        - slate
                        - base-gray
                        - zinc
                        - neutral
                        - stone
                support_url:
                  type: string
                  description: ''
                  example: null
                logo_light:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 1024 kilobytes.'
                logo_dark:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 1024 kilobytes.'
  '/api/1/payment-requests/{paymentRequest_Id}/url':
    get:
      summary: 'Generate URL for payment request'
      operationId: generateURLForPaymentRequest
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Payment requests'
    parameters:
      -
        in: path
        name: paymentRequest_Id
        description: ''
        example: 471702752314134528
        required: true
        schema:
          type: integer
  '/api/1/payment-requests/{paymentRequest_Id}':
    get:
      summary: 'Get payment request'
      operationId: getPaymentRequest
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Payment requests'
    put:
      summary: 'Update payment request'
      operationId: updatePaymentRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Payment requests'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                method:
                  type: string
                  description: ''
                  example: acss_debit
                  enum:
                    - card
                    - acss_debit
                  nullable: true
                amount:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: completed
                  enum:
                    - completed
                    - cancelled
                  nullable: true
    delete:
      summary: 'Delete payment request'
      operationId: deletePaymentRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Payment requests'
    parameters:
      -
        in: path
        name: paymentRequest_Id
        description: ''
        example: 471702752314134528
        required: true
        schema:
          type: integer
  '/api/1/folders/{userFolder}/payment-requests':
    get:
      summary: 'List payment requests of folder'
      operationId: listPaymentRequestsOfFolder
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Payment requests'
    post:
      summary: 'Create payment request'
      operationId: createPaymentRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Payment requests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                method:
                  type: string
                  description: ''
                  example: acss_debit
                  enum:
                    - card
                    - acss_debit
                  nullable: true
                amount:
                  type: integer
                  description: ''
                  example: 16
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
              required:
                - amount
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/1/payment-requests/{paymentRequest_Id}/refund':
    post:
      summary: 'Refund payment request'
      operationId: refundPaymentRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Payment requests'
    parameters:
      -
        in: path
        name: paymentRequest_Id
        description: ''
        example: 471702752314134528
        required: true
        schema:
          type: integer
  /api/1/payment-requests:
    get:
      summary: 'List payment requests of user'
      operationId: listPaymentRequestsOfUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Payment requests'
  /api/1/organization/payment-requests:
    get:
      summary: 'List payment requests for organization'
      operationId: listPaymentRequestsForOrganization
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Payment requests'
      deprecated: true
  /api/1/account/canned-messages:
    post:
      summary: 'Create preset message'
      operationId: createPresetMessage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Preset messages'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: ''
                  example: architecto
                body:
                  type: string
                  description: ''
                  example: architecto
                shared:
                  type: boolean
                  description: ''
                  example: false
                category_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                category_name:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - title
                - body
  '/api/1/account/canned-messages/{cannedMessage}':
    put:
      summary: 'Update preset message'
      operationId: updatePresetMessage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Preset messages'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                body:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                order:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                shared:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                category_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                category_name:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
    parameters:
      -
        in: path
        name: cannedMessage
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/account/canned-messages/{cannedMessage_Id}':
    delete:
      summary: 'Delete preset message'
      operationId: deletePresetMessage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Preset messages'
    parameters:
      -
        in: path
        name: cannedMessage_Id
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  /api/2/account/canned-messages:
    get:
      summary: 'List preset messages'
      operationId: listPresetMessages
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Id:
                      type: integer
                      example: 170
                    '@type':
                      type: string
                      example: UserCannedMessage
                    Title:
                      type: string
                      example: 'aut adipisci quidem nostrum'
                    category:
                      type: string
                      example: null
                      nullable: true
                    Order:
                      type: integer
                      example: 0
                    creator:
                      type: object
                      properties:
                        ID:
                          type: integer
                          example: 28160
                        '@type':
                          type: string
                          example: User
                        Title:
                          type: string
                          example: null
                          nullable: true
                        Name:
                          type: string
                          example: 'Colt Balistreri'
                        FirstName:
                          type: string
                          example: Colt
                        LastName:
                          type: string
                          example: Balistreri
                        Avatar:
                          type: string
                          example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                        Scope:
                          type: string
                          example: external
                        HasContact:
                          type: boolean
                          example: false
                        business:
                          type: object
                          properties:
                            Name:
                              type: string
                              example: 'Howe PLC'
                            Modules:
                              type: integer
                              example: 1
                            LogoLight:
                              type: string
                              example: null
                              nullable: true
                            LogoDark:
                              type: string
                              example: null
                              nullable: true
                            Logo:
                              type: string
                              example: null
                              nullable: true
                            '@type':
                              type: string
                              example: Business
                            PasswordPolicy:
                              type: object
                              properties:
                                min:
                                  type: integer
                                  example: 8
                                mixedCase:
                                  type: boolean
                                  example: true
                                symbols:
                                  type: boolean
                                  example: false
                                uncompromised:
                                  type: boolean
                                  example: false
                                strength:
                                  type: integer
                                  example: 0
                    Content:
                      type: string
                      example: "<p>Incidunt iure odit et et modi ipsum. Omnis autem et consequatur.</p>\n<p>Enim non facere tempora ex voluptatem laboriosam praesentium. Adipisci molestias fugit deleniti distinctio eum doloremque id. Libero aliquam veniam corporis dolorem mollitia deleniti.</p>\n"
                    Shared:
                      type: boolean
                      example: false
                    IsSignature:
                      type: boolean
                      example: false
                    IsShareMessage:
                      type: boolean
                      example: false
                example:
                  -
                    Id: 170
                    '@type': UserCannedMessage
                    Title: 'aut adipisci quidem nostrum'
                    category: null
                    Order: 0
                    creator:
                      ID: 28160
                      '@type': User
                      Title: null
                      Name: 'Colt Balistreri'
                      FirstName: Colt
                      LastName: Balistreri
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope: external
                      HasContact: false
                      business:
                        Name: 'Howe PLC'
                        Modules: 1
                        LogoLight: null
                        LogoDark: null
                        Logo: null
                        '@type': Business
                        PasswordPolicy:
                          min: 8
                          mixedCase: true
                          symbols: false
                          uncompromised: false
                          strength: 0
                    Content: "<p>Incidunt iure odit et et modi ipsum. Omnis autem et consequatur.</p>\n<p>Enim non facere tempora ex voluptatem laboriosam praesentium. Adipisci molestias fugit deleniti distinctio eum doloremque id. Libero aliquam veniam corporis dolorem mollitia deleniti.</p>\n"
                    Shared: false
                    IsSignature: false
                    IsShareMessage: false
                  -
                    Id: 171
                    '@type': UserCannedMessage
                    Title: 'voluptate accusamus ut et'
                    category: null
                    Order: 0
                    creator:
                      ID: 28161
                      '@type': User
                      Title: null
                      Name: 'Arielle Lynch'
                      FirstName: Arielle
                      LastName: Lynch
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope: external
                      HasContact: false
                      business:
                        Name: Ferry-Mayert
                        Modules: 1
                        LogoLight: null
                        LogoDark: null
                        Logo: null
                        '@type': Business
                        PasswordPolicy:
                          min: 8
                          mixedCase: true
                          symbols: false
                          uncompromised: false
                          strength: 0
                    Content: "<p>Rerum ex repellendus assumenda et. Ab reiciendis quia perspiciatis deserunt ducimus corrupti. Dolores quia maiores assumenda odit doloribus repellat officiis. Nesciunt ut ratione iure impedit molestiae ut rem.</p>\n<p>Sint aut molestiae sunt suscipit. Fugiat ut aut deserunt et error neque recusandae. Ipsam dolorem et ut dicta vitae assumenda consequatur. Et sunt quisquam sit repellendus ut.</p>\n"
                    Shared: false
                    IsSignature: false
                    IsShareMessage: false
      tags:
        - 'Preset messages'
  '/api/1/folders/{userFolder}/timeline':
    get:
      summary: 'List activities for secure space or folder'
      operationId: listActivitiesForSecureSpaceOrFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Id:
                      type: integer
                      example: 344822
                    '@type':
                      type: string
                      example: FolderActivity
                    Activity:
                      type: string
                      example: folder.created
                    Params:
                      type: string
                      example: null
                      nullable: true
                    created_at:
                      type: string
                      example: '2025-02-13T15:28:44.000000Z'
                example:
                  -
                    Id: 344822
                    '@type': FolderActivity
                    Activity: folder.created
                    Params: null
                    created_at: '2025-02-13T15:28:44.000000Z'
                  -
                    Id: 344822
                    '@type': FolderActivity
                    Activity: folder.created
                    Params: null
                    created_at: '2025-02-13T15:28:44.000000Z'
      tags:
        - 'Secure spaces & folders'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/follow':
    post:
      summary: 'Enable notifications for folder'
      operationId: enableNotificationsForFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369236
                  '@type': Folder
                  '@id': folder_369236
                  Access: private
                  Link: /vf/hvHTvXJfU0/4C4tU1HlLoHbQCih
                  OriginalLink: /vf/hvHTvXJfU0/4C4tU1HlLoHbQCih
                  URL: hvHTvXJfU0/4C4tU1HlLoHbQCih
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28140
                    '@type': User
                    Title: null
                    Name: "Kenyatta O'Keefe"
                    FirstName: Kenyatta
                    LastName: "O'Keefe"
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Price Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369236
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369236
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHTvXJfU0/4C4tU1HlLoHbQCih
                  OriginalLink:
                    type: string
                    example: /vf/hvHTvXJfU0/4C4tU1HlLoHbQCih
                  URL:
                    type: string
                    example: hvHTvXJfU0/4C4tU1HlLoHbQCih
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28140
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: "Kenyatta O'Keefe"
                      FirstName:
                        type: string
                        example: Kenyatta
                      LastName:
                        type: string
                        example: "O'Keefe"
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Price Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/unfollow':
    post:
      summary: 'Disable notifications for folder'
      operationId: disableNotificationsForFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369237
                  '@type': Folder
                  '@id': folder_369237
                  Access: private
                  Link: /vf/hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  OriginalLink: /vf/hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  URL: hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28141
                    '@type': User
                    Title: null
                    Name: "Kenyatta O'Keefe"
                    FirstName: Kenyatta
                    LastName: "O'Keefe"
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Price Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369237
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369237
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  OriginalLink:
                    type: string
                    example: /vf/hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  URL:
                    type: string
                    example: hvHTw3OLBI/QCWsJsXC91Z0TH8o
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28141
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: "Kenyatta O'Keefe"
                      FirstName:
                        type: string
                        example: Kenyatta
                      LastName:
                        type: string
                        example: "O'Keefe"
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Price Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/favorite':
    put:
      summary: 'Set as favorite'
      operationId: setAsFavorite
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369238
                  '@type': Folder
                  '@id': folder_369238
                  Access: private
                  Link: /vf/hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  OriginalLink: /vf/hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  URL: hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28142
                    '@type': User
                    Title: null
                    Name: "Kenyatta O'Keefe"
                    FirstName: Kenyatta
                    LastName: "O'Keefe"
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Price Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369238
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369238
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  OriginalLink:
                    type: string
                    example: /vf/hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  URL:
                    type: string
                    example: hvHTwZT0sa/BRgmPfRmfXdWXwfV
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28142
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: "Kenyatta O'Keefe"
                      FirstName:
                        type: string
                        example: Kenyatta
                      LastName:
                        type: string
                        example: "O'Keefe"
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Price Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
    delete:
      summary: 'Unfavorite folder'
      operationId: unfavoriteFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369239
                  '@type': Folder
                  '@id': folder_369239
                  Access: private
                  Link: /vf/hvHTx5XgZs/rsDS5bOouz4CEYLV
                  OriginalLink: /vf/hvHTx5XgZs/rsDS5bOouz4CEYLV
                  URL: hvHTx5XgZs/rsDS5bOouz4CEYLV
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28143
                    '@type': User
                    Title: null
                    Name: "Kenyatta O'Keefe"
                    FirstName: Kenyatta
                    LastName: "O'Keefe"
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Price Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369239
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369239
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHTx5XgZs/rsDS5bOouz4CEYLV
                  OriginalLink:
                    type: string
                    example: /vf/hvHTx5XgZs/rsDS5bOouz4CEYLV
                  URL:
                    type: string
                    example: hvHTx5XgZs/rsDS5bOouz4CEYLV
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28143
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: "Kenyatta O'Keefe"
                      FirstName:
                        type: string
                        example: Kenyatta
                      LastName:
                        type: string
                        example: "O'Keefe"
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Price Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}':
    delete:
      summary: 'Delete secure space or folder'
      operationId: deleteSecureSpaceOrFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                nullable: true
      tags:
        - 'Secure spaces & folders'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/upload/id':
    get:
      summary: 'Prepare file for upload to a folder'
      operationId: prepareFileForUploadToAFolder
      description: "This is the second step to start uploading files to a folder. After you get the credentials for the AWS SDK, you will need to call this\nAPI for each file to get the key where to upload the file in S3. Also, keep the `version` property is this will be required when creating the\nfile after the upload session."
      parameters:
        -
          in: query
          name: name
          description: 'Name of the file'
          example: architecto
          required: true
          schema:
            type: string
            description: 'Name of the file'
            example: architecto
        -
          in: query
          name: size
          description: 'File size'
          example: 16
          required: true
          schema:
            type: integer
            description: 'File size'
            example: 16
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces & folders'
      deprecated: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                size:
                  type: integer
                  description: ''
                  example: 16
                name:
                  type: string
                  description: ''
                  example: architecto
                conflict_behaviour:
                  type: string
                  description: ''
                  example: rename
                  enum:
                    - replace
                    - rename
                    - fail
                  nullable: true
              required:
                - size
                - name
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/1/folders/{userFolder}/upload/token':
    get:
      summary: 'Request upload token for folder'
      operationId: requestUploadTokenForFolder
      description: "Returns S3 credentials for upload. All three keys in the response needs to be provided\nin the S3 constructor of the AWS SDK. These keys are valid only for 60 minutes. A good idea is to\nregenerate keys for every upload session (the same key can be used for multiple file uploads made\nin less than 60 minutes). Keep in mind when developing."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces & folders'
      deprecated: true
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  /api/1/folders:
    post:
      summary: 'Create secure space or folder'
      operationId: createSecureSpaceOrFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369240
                  '@type': Folder
                  '@id': folder_369240
                  Access: private
                  Link: /vf/hvHTzgCeCO/eFVS94QgqJOx7dCY
                  OriginalLink: /vf/hvHTzgCeCO/eFVS94QgqJOx7dCY
                  URL: hvHTzgCeCO/eFVS94QgqJOx7dCY
                  created_at: '2026-06-29T18:54:47.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:47.000000Z'
                  creator:
                    ID: 28146
                    '@type': User
                    Title: null
                    Name: 'Lafayette Considine'
                    FirstName: Lafayette
                    LastName: Considine
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Bailey Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369240
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369240
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHTzgCeCO/eFVS94QgqJOx7dCY
                  OriginalLink:
                    type: string
                    example: /vf/hvHTzgCeCO/eFVS94QgqJOx7dCY
                  URL:
                    type: string
                    example: hvHTzgCeCO/eFVS94QgqJOx7dCY
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:47.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:47.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28146
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Lafayette Considine'
                      FirstName:
                        type: string
                        example: Lafayette
                      LastName:
                        type: string
                        example: Considine
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Bailey Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                secured_space:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                scope:
                  type: string
                  description: ''
                  example: public
                  enum:
                    - private
                    - public
                  nullable: true
                parent:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                parent_url:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                copy_permissions_from_parent:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                template:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                copy-contents:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                emails:
                  type: array
                  description: 'Must be a valid email address.'
                  example:
                    - zbailey@example.net
                  items:
                    type: string
                message:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                priority:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                show_preview:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
              required:
                - name
                - emails
  '/api/1/folders/{userFolder}/update':
    post:
      summary: 'Update secure space or folder'
      operationId: updateSecureSpaceOrFolder
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369241
                  '@type': Folder
                  '@id': folder_369241
                  Access: private
                  Link: /vf/hvHU48xY1I/puVLwz8PPRRDwl6y
                  OriginalLink: /vf/hvHU48xY1I/puVLwz8PPRRDwl6y
                  URL: hvHU48xY1I/puVLwz8PPRRDwl6y
                  created_at: '2026-06-29T18:54:48.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:48.000000Z'
                  creator:
                    ID: 28152
                    '@type': User
                    Title: null
                    Name: 'Lafayette Considine'
                    FirstName: Lafayette
                    LastName: Considine
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Bailey Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369241
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369241
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHU48xY1I/puVLwz8PPRRDwl6y
                  OriginalLink:
                    type: string
                    example: /vf/hvHU48xY1I/puVLwz8PPRRDwl6y
                  URL:
                    type: string
                    example: hvHU48xY1I/puVLwz8PPRRDwl6y
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:48.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:48.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28152
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Lafayette Considine'
                      FirstName:
                        type: string
                        example: Lafayette
                      LastName:
                        type: string
                        example: Considine
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Bailey Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                client_space:
                  type: boolean
                  description: ''
                  example: true
                secure_space:
                  type: boolean
                  description: ''
                  example: true
                IncreasedSecurity:
                  type: boolean
                  description: ''
                  example: true
                readonly_messages:
                  type: boolean
                  description: ''
                  example: false
                scope:
                  type: string
                  description: ''
                  example: public
                  enum:
                    - private
                    - public
                  nullable: true
                expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                files_sort:
                  type: string
                  description: ''
                  example: '!name'
                  enum:
                    - '!name'
                    - name
                    - date
                    - '!date'
                  nullable: true
                expiry_interval:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                messages_mode:
                  type: string
                  description: ''
                  example: 0
                  enum:
                    - 0
                    - 1
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                defaults:
                  type: object
                  description: Defaults.
                  example: null
                  properties:
                    file:
                      type: object
                      description: ''
                      example: null
                      properties:
                        properties:
                          type: array
                          description: ''
                          example:
                            - architecto
                          items:
                            type: string
                            nullable: true
                    commented:
                      type: object
                      description: ''
                      example: []
                      properties:
                        properties:
                          type: array
                          description: ''
                          example:
                            - architecto
                          items:
                            type: string
                            nullable: true
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/share':
    post:
      summary: 'Share secure space'
      operationId: shareSecureSpace
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369242
                  '@type': Folder
                  '@id': folder_369242
                  Access: private
                  Link: /vf/hvHU4cTpY0/95fqLI8EeXnYX8cL
                  OriginalLink: /vf/hvHU4cTpY0/95fqLI8EeXnYX8cL
                  URL: hvHU4cTpY0/95fqLI8EeXnYX8cL
                  created_at: '2026-06-29T18:54:48.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:48.000000Z'
                  creator:
                    ID: 28153
                    '@type': User
                    Title: null
                    Name: 'Lafayette Considine'
                    FirstName: Lafayette
                    LastName: Considine
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Bailey Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369242
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369242
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHU4cTpY0/95fqLI8EeXnYX8cL
                  OriginalLink:
                    type: string
                    example: /vf/hvHU4cTpY0/95fqLI8EeXnYX8cL
                  URL:
                    type: string
                    example: hvHU4cTpY0/95fqLI8EeXnYX8cL
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:48.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:48.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28153
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Lafayette Considine'
                      FirstName:
                        type: string
                        example: Lafayette
                      LastName:
                        type: string
                        example: Considine
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Bailey Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces & folders'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                emails:
                  type: array
                  description: 'Must be a valid email address.'
                  example:
                    - gbailey@example.net
                  items:
                    type: string
                contacts:
                  type: array
                  description: 'The <code>id</code> of an existing record in the contacts table.'
                  example:
                    - 16
                  items:
                    type: integer
                question:
                  type: string
                  description: 'This field is required when <code>answer</code> is present.'
                  example: null
                  nullable: true
                answer:
                  type: string
                  description: 'This field is required when <code>question</code> is present.'
                  example: null
                  nullable: true
                body:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                locale:
                  type: string
                  description: ''
                  example: null
                silently:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
              required:
                - emails
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 101882552
        required: true
        schema:
          type: 'Folder ID'
  '/api/1/folders/{userFolder}/metadata':
    get:
      summary: 'Get metadata for secure space, folder or file'
      operationId: getMetadataForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces & folders'
    put:
      summary: 'Update metadata for secure space, folder or file'
      operationId: updateMetadataForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces & folders'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                metadata:
                  type: Metadata
                  description: 'Specify an object with key:value pairs.'
                  example: '{ "my_key": "my_value" }'
              required:
                - metadata
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/2/folders/{userFolder}/members':
    get:
      summary: 'Get permissions for secure space, folder or file'
      operationId: getPermissionsForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces & folders'
    post:
      summary: 'Update permissions for secure space, folder or file'
      operationId: updatePermissionsForSecureSpaceFolderOrFile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces & folders'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                users:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      Permissions:
                        type: string
                        description: ''
                        example: owner
                        enum:
                          - owner
                          - readwrite
                          - readonly
                          - none
                      Notify:
                        type: boolean
                        description: ''
                        example: false
                recursive:
                  type: boolean
                  description: ''
                  example: false
                owner:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - users
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  /api/1/files/download:
    get:
      summary: 'Creates a zip file with the files & folders'
      operationId: createsAZipFileWithTheFilesFolders
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                folders:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
              required:
                - files
                - folders
  '/api/1/documents/{userFile}/versions':
    post:
      summary: 'Create or upload new version of file'
      operationId: createOrUploadNewVersionOfFile
      description: "This route has 2 purposes: upload a file directly to Convoflo or create a new version from a file uploaded via AWS S3's SDK.\n\nTo upload a file directly, send the binary file as the `file` parameter. It must not be bigger than 25 MB.\n\nTo upload a file bigger than 25 MB, you need 2 additional API calls: \"Prepare file\" and \"Get upload session token\". See\nthese APIs before calling this one. The order should be:\n1. Request upload session token\n2. Prepare file\n3. Upload to S3 using the AWS SDK with upload token credentials from step 1 and `key` from step 2.\n4. Call this API with the `version` string gotten from step 1."
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      deprecated: true
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: 'Input. This field is required when none of <code>version</code>, <code>external_link</code>, and <code>version_id</code> are present. Must not be greater than 25000000 characters.'
                  example: b
                version:
                  type: string
                  description: 'This field is required when none of <code>file</code>, <code>external_link</code>, and <code>version_id</code> are present.'
                  example: null
                version_id:
                  type: integer
                  description: 'This field is required when none of <code>file</code>, <code>external_link</code>, and <code>version</code> are present.'
                  example: 16
                external_link:
                  type: string
                  description: 'This field is required when none of <code>file</code>, <code>version</code>, and <code>version_id</code> are present. Must be a valid URL.'
                  example: 'http://bailey.com/'
    parameters:
      -
        in: path
        name: userFile
        description: ''
        example: 108262443
        required: true
        schema:
          type: 'File ID'
  /api/1/files/upload/token:
    get:
      summary: 'Request upload token for root folder'
      operationId: requestUploadTokenForRootFolder
      description: "Returns S3 credentials for upload. All three keys in the response needs to be provided\nin the S3 constructor of the AWS SDK. These keys are valid only for 60 minutes. A good idea is to\nregenerate keys for every upload session (the same key can be used for multiple file uploads made\nin less than 60 minutes). Keep in mind when developing."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
      deprecated: true
  /api/1/files:
    post:
      summary: 'Upload file'
      operationId: uploadFile
      description: "Processes a file upload via direct transfer or S3 finalization.\n\n MODE 1: Direct Upload (Files < 25 MB)\n\n  <ul>\n  <li>Action: Pass the binary content in the `file` parameter.</li>\n </ul>\n\n MODE 2: S3 Finalization (Files > 25 MB)\n\n <ul>\n <li>Action: Finalize a large file previously uploaded to S3</li>\n <li>Requirement: You must provide the `version` string obtained during the 'Request file upload' step</li>\n</ul>\n\n S3 Workflow Reference:\n <ol>\n <li>Call 'Request file upload' (returns credentials, `key`, and `version`)</li>\n <li>Upload to S3 using the AWS SDK</li>\n <li>Call this endpoint with the `version` string to create the file record</li>\n </ol>"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 2569693
                  '@type': Document
                  '@id': file_2569693
                  Access: private
                  Link: /dl/hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  OriginalLink: /dl/hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  URL: hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  created_at: '2026-06-29T18:54:46.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:46.000000Z'
                  creator:
                    ID: 28144
                    '@type': User
                    Title: null
                    Name: 'Roderick Leffler'
                    FirstName: Roderick
                    LastName: Leffler
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 617473805
                    Name: Cartwright-Balistreri.snd
                    Size: 939714945
                    Source: WEB
                    ExternalLink: null
                    MimeType: application/vnd.kodak-descriptor
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:46.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:46.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 2569693
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_2569693
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  OriginalLink:
                    type: string
                    example: /dl/hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  URL:
                    type: string
                    example: hvHTy0JSam/ONr5Ay7MJWmJJfhc
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:46.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28144
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Roderick Leffler'
                      FirstName:
                        type: string
                        example: Roderick
                      LastName:
                        type: string
                        example: Leffler
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 617473805
                      Name:
                        type: string
                        example: Cartwright-Balistreri.snd
                      Size:
                        type: integer
                        example: 939714945
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: application/vnd.kodak-descriptor
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:46.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - 'Secure spaces, folders & files'
      deprecated: true
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Binary input file to upload. Required if `version` is not passed in. Ignore example provided.'
                version:
                  type: string
                  description: 'The encrypted string received from a prepare file API request before sending the file in chunks via S3. Required if `file` is not passed in.'
                  example: eyJpdiI6IjM5RHpVQlFQTmdKdk...
                folder:
                  type: integer
                  description: 'The folder ID where the file will be uploaded. Leave blank to upload in the root directory.'
                  example: 16
                  nullable: true
                users:
                  type: array
                  description: 'Restricts the file to these user IDs.'
                  example:
                    - 16
                  items:
                    type: integer
                    nullable: true
                expires_at:
                  type: string
                  description: 'Adds an expiration date when the file will be automatically deleted. Must be formatted as ISO-8601'
                  example: '2026-01-01T00:00:00+00:00'
                  nullable: true
                conflict_behaviour:
                  type: string
                  description: ''
                  example: fail
                  enum:
                    - replace
                    - rename
                    - fail
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: sent
                  enum:
                    - draft
                    - sent
                  nullable: true
              required:
                - file
                - version
    delete:
      summary: 'Deletes the files and folders'
      operationId: deletesTheFilesAndFolders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                folders:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
              required:
                - files
                - folders
  /api/1/send/securespaces:
    get:
      summary: 'List secure spaces'
      operationId: listSecureSpaces
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: 'Must be at least 3 characters.'
                  example: bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn
                  nullable: true
                emails:
                  type: array
                  description: 'Must be a valid email address.'
                  example:
                    - libby.bradtke@example.com
                  items:
                    type: string
                order:
                  type: string
                  description: ''
                  example: '!date'
                  enum:
                    - name
                    - '!name'
                    - date
                    - '!date'
                    - score
                  nullable: true
                can:
                  type: array
                  description: ''
                  example:
                    - post
                  items:
                    type: string
                    enum:
                      - post
                      - invite
                limit:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - emails
  /api/1/files/upload/id:
    get:
      summary: 'Prepare file for upload to root folder'
      operationId: prepareFileForUploadToRootFolder
      description: "This is the second step to start uploading files to the root folder. After you get the credentials for the AWS SDK, you will need to call this\nAPI for each file to get the key where to upload the file in S3. Also, keep the `version` property is this will be required when creating the\nfile after the upload session."
      parameters:
        -
          in: query
          name: name
          description: 'Name of the file'
          example: architecto
          required: true
          schema:
            type: string
            description: 'Name of the file'
            example: architecto
        -
          in: query
          name: size
          description: 'File size'
          example: 16
          required: true
          schema:
            type: integer
            description: 'File size'
            example: 16
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
      deprecated: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                size:
                  type: integer
                  description: ''
                  example: 16
                name:
                  type: string
                  description: ''
                  example: architecto
                conflict_behaviour:
                  type: string
                  description: ''
                  example: rename
                  enum:
                    - replace
                    - rename
                    - fail
                  nullable: true
              required:
                - size
                - name
  /api/1/files/move:
    post:
      summary: 'Move files & folders'
      operationId: moveFilesFolders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                folders:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                permissions_source:
                  type: string
                  description: ''
                  example: parent
                  enum:
                    - parent
                  nullable: true
              required:
                - files
                - folders
  /api/1/files/copy:
    post:
      summary: 'Copy files & folders'
      operationId: copyFilesFolders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                folders:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
              required:
                - files
                - folders
  '/api/2/folders/{userFolderUrl}/files':
    get:
      summary: 'List secure spaces, folders & files in folder (or secure space)'
      operationId: listSecureSpacesFoldersFilesInFolderorSecureSpace
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\Folder].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\Folder].'
      tags:
        - 'Secure spaces, folders & files'
    parameters:
      -
        in: path
        name: userFolderUrl
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  /api/2/files/move:
    post:
      summary: 'Batch move files & folders'
      operationId: batchMoveFilesFolders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fileables:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'List of IDs of files (`file_###`) and folders (`folder_###`).'
                        example: architecto
                      conflict_behaviour:
                        type: string
                        description: "Conflict behaviour to use if file or folder exists in destination. Defaults to fail if there's a file name conflict."
                        example: replace
                        enum:
                          - replace
                          - rename
                          - fail
                        nullable: true
                    required:
                      - id
                folder:
                  type: integer
                  description: 'The folder ID of the destination. Set to null (or omit) to move to the root.'
                  example: 16
                  nullable: true
                permissions_source:
                  type: string
                  description: 'Permission source.'
                  example: parent
                  enum:
                    - parent
                  nullable: true
                conflict_behaviour:
                  type: string
                  description: "Default conflict behaviour for each file & folder. Defaults to fail if there's any file name conflict."
                  example: rename
                  enum:
                    - replace
                    - rename
                    - fail
                  nullable: true
              required:
                - fileables
  /api/2/files/favorites:
    get:
      summary: 'List favorite secure spaces, folders & files'
      operationId: listFavoriteSecureSpacesFoldersFiles
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
  /api/2/files/recent:
    get:
      summary: 'List recent files'
      operationId: listRecentFiles
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
  /api/2/files/sent:
    get:
      summary: 'List sent files'
      operationId: listSentFiles
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
  /api/2/files:
    get:
      summary: 'List secure spaces, folders & files in root'
      operationId: listSecureSpacesFoldersFilesInRoot
      description: ''
      parameters:
        -
          in: query
          name: limit
          description: 'Limit results at n items'
          example: 100
          required: false
          schema:
            type: integer
            description: 'Limit results at n items'
            example: 100
        -
          in: query
          name: q
          description: 'Search by file name. Can also search by metadata: "key:value"'
          example: .pdf
          required: false
          schema:
            type: string
            description: 'Search by file name. Can also search by metadata: "key:value"'
            example: .pdf
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Secure spaces, folders & files'
    delete:
      summary: 'Batch delete files & folders'
      operationId: batchDeleteFilesFolders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fileables:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'List of IDs of files (`file_###`) and folders (`folder_###`).'
                        example: architecto
                    required:
                      - id
              required:
                - fileables
  '/api/2/folders/{userFolder}':
    put:
      summary: Update
      operationId: update
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369245
                  '@type': Folder
                  '@id': folder_369245
                  Access: private
                  Link: /vf/hvHUBu5dUe/aETBLhDATtAdZ1UY
                  OriginalLink: /vf/hvHUBu5dUe/aETBLhDATtAdZ1UY
                  URL: hvHUBu5dUe/aETBLhDATtAdZ1UY
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28163
                    '@type': User
                    Title: null
                    Name: 'Lafayette Considine'
                    FirstName: Lafayette
                    LastName: Considine
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Bailey Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369245
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369245
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHUBu5dUe/aETBLhDATtAdZ1UY
                  OriginalLink:
                    type: string
                    example: /vf/hvHUBu5dUe/aETBLhDATtAdZ1UY
                  URL:
                    type: string
                    example: hvHUBu5dUe/aETBLhDATtAdZ1UY
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28163
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Lafayette Considine'
                      FirstName:
                        type: string
                        example: Lafayette
                      LastName:
                        type: string
                        example: Considine
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Bailey Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must be at least 1 character. Must not be greater than 255 characters.'
                  example: b
                  nullable: true
                secured_space:
                  type: boolean
                  description: Options.
                  example: false
                  nullable: true
                visibility:
                  type: string
                  description: ''
                  example: public
                  enum:
                    - private
                    - public
                  nullable: true
                expiry_interval:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:49'
                  nullable: true
                IncreasedSecurity:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                readonly_messages:
                  type: boolean
                  description: 'TODO: find a better key.'
                  example: false
                  nullable: true
                messages_mode:
                  type: string
                  description: 'TODO: find a better key.'
                  example: 0
                  enum:
                    - 0
                    - 1
                  nullable: true
                create_folder_policy:
                  type: string
                  description: "TODO: find a better key'."
                  example: internal
                  enum:
                    - external
                    - internal
                  nullable: true
                sort:
                  type: string
                  description: Pivot.
                  example: name
                  enum:
                    - '!name'
                    - name
                    - date
                    - '!date'
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                defaults:
                  type: object
                  description: Defaults.
                  example: null
                  properties:
                    file:
                      type: object
                      description: ''
                      example: null
                      properties:
                        properties:
                          type: array
                          description: ''
                          example:
                            - architecto
                          items:
                            type: string
                            nullable: true
                    commented:
                      type: object
                      description: ''
                      example: []
                      properties:
                        properties:
                          type: array
                          description: ''
                          example:
                            - architecto
                          items:
                            type: string
                            nullable: true
                  nullable: true
                properties:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
              required:
                - properties
    parameters:
      -
        in: path
        name: userFolder
        description: ID
        example: '10272944'
        required: true
        schema:
          type: integer
  /api/2/folders:
    post:
      summary: 'Create a folder / secure space'
      operationId: createAFolderSecureSpace
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369246
                  '@type': Folder
                  '@id': folder_369246
                  Access: private
                  Link: /vf/hvHUCOB7HU/aYyIspSD6UH9sRWP
                  OriginalLink: /vf/hvHUCOB7HU/aYyIspSD6UH9sRWP
                  URL: hvHUCOB7HU/aYyIspSD6UH9sRWP
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28164
                    '@type': User
                    Title: null
                    Name: 'Lafayette Considine'
                    FirstName: Lafayette
                    LastName: Considine
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Bailey Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369246
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369246
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHUCOB7HU/aYyIspSD6UH9sRWP
                  OriginalLink:
                    type: string
                    example: /vf/hvHUCOB7HU/aYyIspSD6UH9sRWP
                  URL:
                    type: string
                    example: hvHUCOB7HU/aYyIspSD6UH9sRWP
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28164
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Lafayette Considine'
                      FirstName:
                        type: string
                        example: Lafayette
                      LastName:
                        type: string
                        example: Considine
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Bailey Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces, folders & files'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must be at least 1 character. Must not be greater than 255 characters.'
                  example: b
                parents:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                secured_space:
                  type: boolean
                  description: Options.
                  example: true
                  nullable: true
                visibility:
                  type: string
                  description: ''
                  example: public
                  enum:
                    - private
                    - public
                  nullable: true
                create_folder_policy:
                  type: string
                  description: ''
                  example: internal
                  enum:
                    - external
                    - internal
                  nullable: true
                permissions_source:
                  type: string
                  description: 'Creation options.'
                  example: parent
                  enum:
                    - parent
                  nullable: true
                content_source:
                  type: string
                  description: 'This field is required when <code>content_source_id</code> is present.'
                  example: template
                  enum:
                    - template
                    - folder
                  nullable: true
                content_source_id:
                  type: integer
                  description: 'This field is required when <code>content_source</code> is present.'
                  example: 16
                  nullable: true
                message:
                  type: string
                  description: Sharing.
                  example: architecto
                  nullable: true
                message_priority:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                message_preview:
                  type: string
                  description: ''
                  example: notification
                  enum:
                    - notification
                  nullable: true
                shares:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      email:
                        type: string
                        description: 'Must be a valid email address.'
                        example: zbailey@example.net
                      message:
                        type: string
                        description: ''
                        example: architecto
                        nullable: true
                      message_priority:
                        type: integer
                        description: ''
                        example: 16
                        nullable: true
                      message_preview:
                        type: string
                        description: ''
                        example: notification
                        enum:
                          - notification
                        nullable: true
                    required:
                      - email
              required:
                - name
                - parents
  '/api/2/folders/{userFolder_ID}/folders':
    get:
      summary: ''
      operationId: getApi2FoldersUserFolder_IDFolders
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\Folder] '
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\Folder] '
      tags:
        - 'Secure spaces, folders & files'
    parameters:
      -
        in: path
        name: userFolder_ID
        description: ''
        example: 20
        required: true
        schema:
          type: integer
  '/api/2/folders/{folderUrl}':
    get:
      summary: Retrieve
      operationId: retrieve
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  ID: 369247
                  '@type': Folder
                  '@id': folder_369247
                  Access: private
                  Link: /vf/hvHUEjE8kS/6u297LXcokU641db
                  OriginalLink: /vf/hvHUEjE8kS/6u297LXcokU641db
                  URL: hvHUEjE8kS/6u297LXcokU641db
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28168
                    '@type': User
                    Title: null
                    Name: "Kenyatta O'Keefe"
                    FirstName: Kenyatta
                    LastName: "O'Keefe"
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Name: 'Price Ltd'
                  SecuredSpace: false
                  MessagesMode: 0
                  CreateFolderPolicy: null
                properties:
                  ID:
                    type: integer
                    example: 369247
                  '@type':
                    type: string
                    example: Folder
                  '@id':
                    type: string
                    example: folder_369247
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /vf/hvHUEjE8kS/6u297LXcokU641db
                  OriginalLink:
                    type: string
                    example: /vf/hvHUEjE8kS/6u297LXcokU641db
                  URL:
                    type: string
                    example: hvHUEjE8kS/6u297LXcokU641db
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28168
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: "Kenyatta O'Keefe"
                      FirstName:
                        type: string
                        example: Kenyatta
                      LastName:
                        type: string
                        example: "O'Keefe"
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Name:
                    type: string
                    example: 'Price Ltd'
                  SecuredSpace:
                    type: boolean
                    example: false
                  MessagesMode:
                    type: integer
                    example: 0
                  CreateFolderPolicy:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Secure spaces, folders & files'
    parameters:
      -
        in: path
        name: folderUrl
        description: 'Folder URL code'
        example: h7rl/Pk91c
        required: true
        schema:
          type: string
  '/api/1/apps/sharepoint/folders/{userFolder}/sync/{appConnection_Id}':
    post:
      summary: 'Sync folder to SharePoint'
      operationId: syncFolderToSharePoint
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'SharePoint sync'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                associate:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                path_id:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                drive_id:
                  type: string
                  description: ''
                  example: architecto
              required:
                - drive_id
    delete:
      summary: 'Unsync folder from SharePoint'
      operationId: unsyncFolderFromSharePoint
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'SharePoint sync'
    parameters:
      -
        in: path
        name: userFolder
        description: ''
        example: 20
        required: true
        schema:
          type: integer
      -
        in: path
        name: appConnection_Id
        description: ''
        example: 505814060210720768
        required: true
        schema:
          type: integer
  '/api/1/apps/sharepoint/apps/{appConnection}/sites':
    get:
      summary: 'Get SharePoint sites'
      operationId: getSharePointSites
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\AppConnection].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\AppConnection].'
      tags:
        - 'SharePoint sync'
    parameters:
      -
        in: path
        name: appConnection
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/apps/sharepoint/apps/{appConnection}/sites/{siteId}/drives':
    get:
      summary: 'Get SharePoint drives'
      operationId: getSharePointDrives
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\AppConnection].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\AppConnection].'
      tags:
        - 'SharePoint sync'
    parameters:
      -
        in: path
        name: appConnection
        description: ''
        example: architecto
        required: true
        schema:
          type: string
      -
        in: path
        name: siteId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/apps/sharepoint/apps/{appConnection_Id}/sites/{siteId}/drives/{driveId}/items':
    get:
      summary: 'Get SharePoint items'
      operationId: getSharePointItems
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'SharePoint sync'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                path_id:
                  type: string
                  description: ''
                  example: null
                  nullable: true
    parameters:
      -
        in: path
        name: appConnection_Id
        description: ''
        example: 505814060210720768
        required: true
        schema:
          type: integer
      -
        in: path
        name: siteId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
      -
        in: path
        name: driveId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/1/apps/sharepoint/options:
    get:
      summary: 'Get SharePoint options'
      operationId: getSharePointOptions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'SharePoint sync'
    put:
      summary: 'Update SharePoint options'
      operationId: updateSharePointOptions
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'SharePoint sync'
  '/api/1/sign/{signRequest_Id}/signer':
    get:
      summary: 'Get signature request signing form'
      operationId: getSignatureRequestSigningForm
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequest].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequest].'
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/sign_requests/{archivedSignRequest_Id}':
    get:
      summary: 'Get signature request'
      operationId: getSignatureRequest
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequest] 8256394662'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequest] 8256394662'
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: archivedSignRequest_Id
        description: 'The ID of the signature request. Archived signature request are returned.'
        example: 8256394662
        required: true
        schema:
          type: integer
  /api/1/account/sign_requests:
    get:
      summary: 'List signature requests'
      operationId: listSignatureRequests
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Signature requests'
  '/api/1/sign_requests/{archivedSignRequest}/evidence-summary':
    get:
      summary: 'Get signature request evidence summary'
      operationId: getSignatureRequestEvidenceSummary
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequest] 8256394662'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequest] 8256394662'
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: archivedSignRequest
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/folders/{userFolder}/sign_requests':
    get:
      summary: 'List by secure space'
      operationId: listBySecureSpace
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: userFolder
        description: 'ID of secure space'
        example: 16
        required: true
        schema:
          type: integer
  '/api/1/folders/{folder_ID}/sign_requests':
    post:
      summary: 'Create signature request'
      operationId: createSignatureRequest
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 32
                  '@type': SignRequest
                  '@id': sr_32
                  Label: 'Signature request for February 17th, 2025'
                  PackageId: CyLDjVMX1BUh6KeRm9XYTERK77Q=
                  activated_at: null
                  completed_at: null
                  cancelled_at: null
                  created_at: '2025-02-17T19:24:57.000000Z'
                  archived_at: null
                  Link: /sign/32
                  OrderedSigning: true
                  Reassignment: true
                  UsingTemplate: false
                  folder: null
                  due_at: null
                properties:
                  Id:
                    type: integer
                    example: 32
                  '@type':
                    type: string
                    example: SignRequest
                  '@id':
                    type: string
                    example: sr_32
                  Label:
                    type: string
                    example: 'Signature request for February 17th, 2025'
                  PackageId:
                    type: string
                    example: CyLDjVMX1BUh6KeRm9XYTERK77Q=
                  activated_at:
                    type: string
                    example: null
                    nullable: true
                  completed_at:
                    type: string
                    example: null
                    nullable: true
                  cancelled_at:
                    type: string
                    example: null
                    nullable: true
                  created_at:
                    type: string
                    example: '2025-02-17T19:24:57.000000Z'
                  archived_at:
                    type: string
                    example: null
                    nullable: true
                  Link:
                    type: string
                    example: /sign/32
                  OrderedSigning:
                    type: boolean
                    example: true
                  Reassignment:
                    type: boolean
                    example: true
                  UsingTemplate:
                    type: boolean
                    example: false
                  folder:
                    type: string
                    example: null
                    nullable: true
                  due_at:
                    type: string
                    example: null
                    nullable: true
      tags:
        - 'Signature requests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'Label of signature request.'
                  example: 'My new signature request'
                template:
                  type: integer
                  description: 'ID of signature request template.'
                  example: 16
                reminders:
                  type: array
                  description: 'Positive integers for days after the request is sent; negative integers for days before the due date'
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: date
                  description: 'Sets the due date to. Used for the status, and sending reminders'
                  example: architecto
                  nullable: true
                roles:
                  type: array
                  description: 'Roles (users) assigned to the signature request'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      signer:
                        type: integer
                        description: 'ID of user'
                        example: 16
                      id:
                        type: integer
                        description: 'Only when a signature template is used: the ID of the role to associate the user to'
                        example: 16
                      auth:
                        type: string
                        description: 'The only supported value is "SMS"'
                        example: architecto
                      question:
                        type: string
                        description: 'When the "auth" is "SMS", this is the phone number used to MFA authentication to sign the documents'
                        example: architecto
                    required:
                      - signer
                files:
                  type: array
                  description: 'IDs of files requested to be signed'
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: 'Set to true to respect signing order. Defaults to false.'
                  example: false
                reassign:
                  type: boolean
                  description: 'Set to true to enable reassignments of signers. A signer can delegate signing to another user. Defaults to false.'
                  example: false
              required:
                - label
                - roles
                - files
    parameters:
      -
        in: path
        name: folder_ID
        description: 'The ID of the secure space'
        example: 297646282
        required: true
        schema:
          type: integer
  '/api/1/sign_requests/{signRequest_Id}/remind/{signRequestRole}':
    post:
      summary: 'Send a reminder to a signer'
      operationId: sendAReminderToASigner
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
      -
        in: path
        name: signRequestRole
        description: 'The ID of the role'
        example: 392365224
        required: true
        schema:
          type: integer
  '/api/1/sign_requests/{signRequest_Id}/remind':
    post:
      summary: 'Send a reminder to all remaining signers'
      operationId: sendAReminderToAllRemainingSigners
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/sign_requests/{signRequest_Id}':
    put:
      summary: 'Update signature request'
      operationId: updateSignatureRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature requests'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'Label of signature request.'
                  example: 'My new signature request'
                template:
                  type: integer
                  description: 'ID of signature request template.'
                  example: 16
                reminders:
                  type: array
                  description: 'Positive integers for days after the request is sent; negative integers for days before the due date'
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: date
                  description: 'Sets the due date to. Used for the status, and sending reminders'
                  example: architecto
                  nullable: true
                roles:
                  type: array
                  description: 'Roles (users) assigned to the signature request'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'ID of role to update, or leave empty to add a user to the roles.'
                        example: 16
                      signer:
                        type: integer
                        description: 'ID of user'
                        example: 16
                      auth:
                        type: string
                        description: 'The only supported value is "SMS"'
                        example: architecto
                      question:
                        type: string
                        description: 'When the "auth" is "SMS", this is the phone number used to MFA authentication to sign the documents'
                        example: architecto
                files:
                  type: array
                  description: 'IDs of files requested to be signed'
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: 'Set to true to respect signing order. Defaults to false.'
                  example: false
                reassign:
                  type: boolean
                  description: 'Set to true to enable reassignments of signers. A signer can delegate signing to another user. Defaults to false.'
                  example: false
    delete:
      summary: 'Delete signature request'
      operationId: deleteSignatureRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/sign_requests/{signRequest_Id}/cancel':
    post:
      summary: 'Cancel a signature request'
      operationId: cancelASignatureRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/sign/{signRequest_Id}/designer':
    get:
      summary: 'Get signature request designer URL'
      operationId: getSignatureRequestDesignerURL
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequest].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequest].'
      tags:
        - 'Signature requests'
    parameters:
      -
        in: path
        name: signRequest_Id
        description: 'The ID of the signature request'
        example: 8256394662
        required: true
        schema:
          type: integer
  '/api/1/sign-request-templates/{signRequestTemplate}/designer':
    get:
      summary: 'Get signature template designer URL'
      operationId: getSignatureTemplateDesignerURL
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequestTemplate].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequestTemplate].'
      tags:
        - 'Signature request templates'
    parameters:
      -
        in: path
        name: signRequestTemplate
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/1/sign-request-templates/{signRequestTemplate}':
    get:
      summary: 'Get signature request template'
      operationId: getSignatureRequestTemplate
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Signature request templates'
    put:
      summary: 'Update signature request template'
      operationId: updateSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: null
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                roles:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                        nullable: true
                      auth:
                        type: string
                        description: ''
                        example: SMS
                        enum:
                          - SMS
                        nullable: true
                documents:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                files:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                reassign:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                deferred:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
              required:
                - files
    delete:
      summary: 'Delete signature request template'
      operationId: deleteSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
    parameters:
      -
        in: path
        name: signRequestTemplate
        description: ''
        example: 86
        required: true
        schema:
          type: integer
  /api/1/sign-request-templates:
    get:
      summary: 'List signature request templates'
      operationId: listSignatureRequestTemplates
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Signature request templates'
    post:
      summary: 'Create signature request template'
      operationId: createSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: architecto
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                roles:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                        nullable: true
                      auth:
                        type: string
                        description: ''
                        example: SMS
                        enum:
                          - SMS
                        nullable: true
                documents:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                files:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                reassign:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                deferred:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
              required:
                - label
                - roles
                - documents
                - files
  '/api/1/account/sign_templates/{signRequestTemplate}':
    get:
      summary: 'Get signature request template'
      operationId: getSignatureRequestTemplate
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [TagMyDoc\Models\SignRequestTemplate].'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [TagMyDoc\Models\SignRequestTemplate].'
      tags:
        - 'Signature request templates'
    put:
      summary: 'Update signature request template'
      operationId: updateSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: null
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                roles:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                        nullable: true
                      auth:
                        type: string
                        description: ''
                        example: SMS
                        enum:
                          - SMS
                        nullable: true
                documents:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                files:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                reassign:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                deferred:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
              required:
                - files
    delete:
      summary: 'Delete signature request template'
      operationId: deleteSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
    parameters:
      -
        in: path
        name: signRequestTemplate
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/1/account/sign_templates:
    post:
      summary: 'Create signature request template'
      operationId: createSignatureRequestTemplate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Signature request templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: ''
                  example: architecto
                reminders:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                due_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-06-29T18:54:48'
                  nullable: true
                roles:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        description: ''
                        example: architecto
                        nullable: true
                      auth:
                        type: string
                        description: ''
                        example: SMS
                        enum:
                          - SMS
                        nullable: true
                documents:
                  type: array
                  description: ''
                  example:
                    - architecto
                  items:
                    type: string
                files:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                ordered:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                reassign:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                deferred:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
              required:
                - label
                - roles
                - documents
                - files
  '/api/2/upload/{fileable}':
    get:
      summary: 'Request file upload session'
      operationId: requestFileUploadSession
      description: "Returns the temporary S3 credentials and the storage location (`key`) required for the upload.\nIf a naming conflict is detected, the conflicting File object is returned.\n\nUsage:\n\n- Pass the credentials to the S3 SDK constructor.\n- Use the returned `key` property to set the destination path on S3.\n- Keep the `version` string for step 3.\n\n<aside class=\"info\">Credentials expire after 60 minutes.</aside>"
      parameters:
        -
          in: query
          name: size
          description: 'The size of the file in bytes'
          example: '190288'
          required: true
          schema:
            type: integer
            description: 'The size of the file in bytes'
            example: '190288'
        -
          in: query
          name: name
          description: 'Name of the file including its extension'
          example: RL-1.pdf
          required: true
          schema:
            type: string
            description: 'Name of the file including its extension'
            example: RL-1.pdf
        -
          in: query
          name: conflict_behaviour
          description: 'When a file name conflict is detected, this parameter handles its behaviour'
          example: replace
          required: false
          schema:
            type: string
            description: 'When a file name conflict is detected, this parameter handles its behaviour'
            example: replace
            enum:
              - replace
              - rename
              - fail
            nullable: true
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2137449171
                    key: 'docs_finals/2137449171/Crooks LLC.sse'
                    name: 'Crooks LLC.sse'
                    version: eyJpdiI6ImpJZTJnQkxnUTZuSlNVdEhIK1d2NkE9PSIsInZhbHVlIjoiNzZiS2J4RFpVWGF6dndwL1ZPdUgzZUVCdGt4ckUrM3d6TDVWKzRnK3hyak5kZk9KWUx0VWx4aFhKOGxNd3lBTU9XYUE2UmVnRkltSEgvdWJZZnViMUlYd3A5VndaWEk4WGxkbDN6eWpVS1dtN2VFb2RwdFRjR3JvaTBpVTlNWmJBczBzMFIwRjliRDJjVzVkZHUxVjdTYld3V01TYzRGZ0V2RjRhSGhCMUNTdDcyZm84bUZtS2tBc1ZqaXF2dVNwMHR0QlRqY1pYOHR4TW5jNDMwQnZoN1kxWmtpOGc3WnhhYThaZC9MZGhNREZHajg2dmpRdW0xdi9iOEtHcTNwWVNDWkhFS0NoQ2dmcFo2Tml3ZDkrdmc5M1p3WjMxV01rOUUrem1MQ0hjVXo1dGxLZ0RvOEVwcXJwK2lwNnlRTDQ5eVBnUUJoMzNzNkd5bWIwdHRDcWpOam5ibDRVaENtaGdCRkdaZkRCMFpxZnB1Q3J3SFQ2L0NzWHJ6VUJlVENCQ2RxNGdpTUFFdm11bnphUDk5NFZxajR5bWdFMXMyTSsvQ1pUM0tKZWI4QmdzclVwVS8wVklIaWZsOU9nTVloMk9lYjBvbWVnR1YrSVRVNmJjbXBnY1B6Q09QRVdCaFc4YWcrS2YwbWpSTFh1cnAzUFJuZXN1dkh4Ry9wcnhqOXZka2RkTDdZTTIrZ2VtUHlpemlWUWFsK2p1d2JDV0R2ekcweTdhS000amZjeEhsd2NrczVXbktmeU9CMVZ5SkZCaCtheFdNbHBpUjJaaXdsWnd0ZTBqakdxRktpMlJyeWZVdTkrY01hdjRoY09UOFlKbDZlSmtiNHRla3VLbUxsN0FlMmQ2aXRUdnhyeHRCL1YzOXBjNWlTdWdSd08zZFZhOVUrWVNxNzNleHlkYzMxeDRReGk2Z05YYXkrOWY1blIiLCJtYWMiOiI0NWRiNWMwMzg0NGQ2NDU3Zjg5ZDFhNjk1NGRmMmE2OWE5NmU5MDhkYmEwM2QwZWI4NjVhODZiM2Q1ODc3NTdhIiwidGFnIjoiIn0=
                    conflict_behaviour: fail
                  credentials:
                    sessionToken: ...
                    accessKeyId: ...
                    secretAccessKey: ...
                    region: ...
                    bucket: ...
                  conflicted_fileable: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 2137449171
                      key:
                        type: string
                        example: 'docs_finals/2137449171/Crooks LLC.sse'
                      name:
                        type: string
                        example: 'Crooks LLC.sse'
                      version:
                        type: string
                        example: eyJpdiI6ImpJZTJnQkxnUTZuSlNVdEhIK1d2NkE9PSIsInZhbHVlIjoiNzZiS2J4RFpVWGF6dndwL1ZPdUgzZUVCdGt4ckUrM3d6TDVWKzRnK3hyak5kZk9KWUx0VWx4aFhKOGxNd3lBTU9XYUE2UmVnRkltSEgvdWJZZnViMUlYd3A5VndaWEk4WGxkbDN6eWpVS1dtN2VFb2RwdFRjR3JvaTBpVTlNWmJBczBzMFIwRjliRDJjVzVkZHUxVjdTYld3V01TYzRGZ0V2RjRhSGhCMUNTdDcyZm84bUZtS2tBc1ZqaXF2dVNwMHR0QlRqY1pYOHR4TW5jNDMwQnZoN1kxWmtpOGc3WnhhYThaZC9MZGhNREZHajg2dmpRdW0xdi9iOEtHcTNwWVNDWkhFS0NoQ2dmcFo2Tml3ZDkrdmc5M1p3WjMxV01rOUUrem1MQ0hjVXo1dGxLZ0RvOEVwcXJwK2lwNnlRTDQ5eVBnUUJoMzNzNkd5bWIwdHRDcWpOam5ibDRVaENtaGdCRkdaZkRCMFpxZnB1Q3J3SFQ2L0NzWHJ6VUJlVENCQ2RxNGdpTUFFdm11bnphUDk5NFZxajR5bWdFMXMyTSsvQ1pUM0tKZWI4QmdzclVwVS8wVklIaWZsOU9nTVloMk9lYjBvbWVnR1YrSVRVNmJjbXBnY1B6Q09QRVdCaFc4YWcrS2YwbWpSTFh1cnAzUFJuZXN1dkh4Ry9wcnhqOXZka2RkTDdZTTIrZ2VtUHlpemlWUWFsK2p1d2JDV0R2ekcweTdhS000amZjeEhsd2NrczVXbktmeU9CMVZ5SkZCaCtheFdNbHBpUjJaaXdsWnd0ZTBqakdxRktpMlJyeWZVdTkrY01hdjRoY09UOFlKbDZlSmtiNHRla3VLbUxsN0FlMmQ2aXRUdnhyeHRCL1YzOXBjNWlTdWdSd08zZFZhOVUrWVNxNzNleHlkYzMxeDRReGk2Z05YYXkrOWY1blIiLCJtYWMiOiI0NWRiNWMwMzg0NGQ2NDU3Zjg5ZDFhNjk1NGRmMmE2OWE5NmU5MDhkYmEwM2QwZWI4NjVhODZiM2Q1ODc3NTdhIiwidGFnIjoiIn0=
                      conflict_behaviour:
                        type: string
                        example: fail
                  credentials:
                    type: object
                    properties:
                      sessionToken:
                        type: string
                        example: ...
                      accessKeyId:
                        type: string
                        example: ...
                      secretAccessKey:
                        type: string
                        example: ...
                      region:
                        type: string
                        example: ...
                      bucket:
                        type: string
                        example: ...
                  conflicted_fileable:
                    type: string
                    example: null
                    nullable: true
      tags:
        - Upload
    post:
      summary: 'Upload or finalize file'
      operationId: uploadOrFinalizeFile
      description: "Processes a file upload via direct transfer or S3 finalization.\n\n **STRATEGY 1**: Direct Upload (Files < 25 MB)\n\n <ul>\n <li>Action: Pass the binary content in the `file` parameter.</li>\n</ul>\n\n **STRATEGY 2**: S3 Session Upload (Files > 25 MB)\n\n<ul>\n<li>Action: Finalize a large file previously uploaded to S3</li>\n<li>Requirement: You must provide the `version` string obtained during the 'Request file upload' step</li>\n</ul>\n\nS3 Workflow Reference:\n<ol>\n<li>Call 'Request file upload' (returns credentials, `key`, and `version`)</li>\n<li>Upload to S3 using the AWS SDK</li>\n<li>Call this endpoint with the `version` string to create the file record</li>\n</ol>"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  Id: 2569693
                  '@type': Document
                  '@id': file_2569693
                  Access: private
                  Link: /dl/hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  OriginalLink: /dl/hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  URL: hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  created_at: '2026-06-29T18:54:50.000000Z'
                  deleted_at: null
                  expires_at: null
                  updated_at: '2026-06-29T18:54:50.000000Z'
                  creator:
                    ID: 28166
                    '@type': User
                    Title: null
                    Name: 'Roderick Leffler'
                    FirstName: Roderick
                    LastName: Leffler
                    Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                    Scope: external
                    HasContact: false
                  Scope: external
                  Editable: false
                  RestrictDownloads: false
                  current:
                    Id: 878670021
                    Name: Emard-Wolff.lbe
                    Size: 1346616511
                    Source: WEB
                    ExternalLink: null
                    MimeType: audio/mp4
                    Stored: true
                    AVStatus: null
                    created_at: '2026-06-29T18:54:50.000000Z'
                    Thumbnail: null
                    '@type': Version
                    updated_at: '2026-06-29T18:54:50.000000Z'
                    deleted_at: null
                properties:
                  Id:
                    type: integer
                    example: 2569693
                  '@type':
                    type: string
                    example: Document
                  '@id':
                    type: string
                    example: file_2569693
                  Access:
                    type: string
                    example: private
                  Link:
                    type: string
                    example: /dl/hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  OriginalLink:
                    type: string
                    example: /dl/hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  URL:
                    type: string
                    example: hvHUDmTAp6/O3VMdQnRc1Wt6uUV
                  created_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  deleted_at:
                    type: string
                    example: null
                    nullable: true
                  expires_at:
                    type: string
                    example: null
                    nullable: true
                  updated_at:
                    type: string
                    example: '2026-06-29T18:54:50.000000Z'
                  creator:
                    type: object
                    properties:
                      ID:
                        type: integer
                        example: 28166
                      '@type':
                        type: string
                        example: User
                      Title:
                        type: string
                        example: null
                        nullable: true
                      Name:
                        type: string
                        example: 'Roderick Leffler'
                      FirstName:
                        type: string
                        example: Roderick
                      LastName:
                        type: string
                        example: Leffler
                      Avatar:
                        type: string
                        example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Scope:
                        type: string
                        example: external
                      HasContact:
                        type: boolean
                        example: false
                  Scope:
                    type: string
                    example: external
                  Editable:
                    type: boolean
                    example: false
                  RestrictDownloads:
                    type: boolean
                    example: false
                  current:
                    type: object
                    properties:
                      Id:
                        type: integer
                        example: 878670021
                      Name:
                        type: string
                        example: Emard-Wolff.lbe
                      Size:
                        type: integer
                        example: 1346616511
                      Source:
                        type: string
                        example: WEB
                      ExternalLink:
                        type: string
                        example: null
                        nullable: true
                      MimeType:
                        type: string
                        example: audio/mp4
                      Stored:
                        type: boolean
                        example: true
                      AVStatus:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      Thumbnail:
                        type: string
                        example: null
                        nullable: true
                      '@type':
                        type: string
                        example: Version
                      updated_at:
                        type: string
                        example: '2026-06-29T18:54:50.000000Z'
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
      tags:
        - Upload
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Binary input file to upload. Required if `version` is not passed in. Cannot be more than 25 MB. Ignore example provided.'
                version:
                  type: string
                  description: 'The encrypted string received from a prepare file API request before sending the file in chunks via S3. Required if `file` is not passed in.'
                  example: eyJpdiI6IjM5RHpVQlFQTmdKdk...
                users:
                  type: array
                  description: 'Restricts the file to these user IDs.'
                  example:
                    - 16
                  items:
                    type: integer
                    nullable: true
                expires_at:
                  type: string
                  description: 'Adds an expiration date when the file will be automatically deleted. Must be formatted as ISO-8601'
                  example: '2026-01-01T00:00:00+00:00'
                  nullable: true
                conflict_behaviour:
                  type: string
                  description: 'When a file name conflict is detected, this parameter handles its behaviour'
                  example: replace
                  enum:
                    - replace
                    - rename
                    - fail
                  nullable: true
                status:
                  type: string
                  description: 'Status of the file. Set to "draft" to create as draft (posted_at will be null and FileCreatedEvent will not be triggered).'
                  example: sent
                  enum:
                    - draft
                    - sent
                  nullable: true
              required:
                - file
                - version
    parameters:
      -
        in: path
        name: fileable
        description: "Should be a fileable ID in the format of `{type}_{id}`. When the `type` is `folder`, the file will be created in that folder. When the `type` is `file`, it will create a new version\n    of the file. When omitted, it will upload the file to the root."
        example: architecto
        required: true
        schema:
          type: string
  /api/1/org/users/invites:
    get:
      summary: 'List user invitations'
      operationId: listUserInvitations
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'User invitations'
    post:
      summary: 'Send invitation to join organization'
      operationId: sendInvitationToJoinOrganization
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'User invitations'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: gbailey@example.net
                role:
                  type: string
                  description: ''
                  example: admin
                  enum:
                    - admin
                    - user
                    - limited
                locale:
                  type: string
                  description: ''
                  example: architecto
              required:
                - email
                - role
                - locale
  '/api/1/org/users/invites/{invitation_Id}':
    put:
      summary: 'Resend invitation'
      operationId: resendInvitation
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'User invitations'
    delete:
      summary: 'Delete user invitation'
      operationId: deleteUserInvitation
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'User invitations'
    parameters:
      -
        in: path
        name: invitation_Id
        description: ''
        example: 532556888563388416
        required: true
        schema:
          type: integer
  /api/1/org/users:
    get:
      summary: 'List users'
      operationId: listUsers
      description: ''
      parameters:
        -
          in: query
          name: 'filters[roles]'
          description: 'Filters users by their role.'
          example:
            - admin
          required: false
          schema:
            type: array
            description: 'Filters users by their role.'
            example:
              - admin
            items:
              type: string
              enum:
                - admin
                - user
                - limited
              nullable: true
        -
          in: query
          name: sort
          description: 'Sorts the result by the attribute. Defaults to name alphabetically.'
          example: '!created_at'
          required: false
          schema:
            type: string
            description: 'Sorts the result by the attribute. Defaults to name alphabetically.'
            example: '!created_at'
            nullable: true
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  users:
                    -
                      ID: 28147
                      '@type': User
                      Title: null
                      Name: 'Jaqueline Schoen'
                      FirstName: Jaqueline
                      LastName: Schoen
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Email: garrison49@example.org
                      Scope: external
                      HasContact: false
                      business:
                        Name: Goldner-Aufderhar
                        Modules: 1
                        LogoLight: null
                        LogoDark: null
                        Logo: null
                        '@type': Business
                        PasswordPolicy:
                          min: 8
                          mixedCase: true
                          symbols: false
                          uncompromised: false
                          strength: 0
                      Role: admin
                      MFA: false
                      created_at: '2026-06-29T18:54:47.000000Z'
                      Locale: fr_CA
                      Locked: false
                    -
                      ID: 28148
                      '@type': User
                      Title: null
                      Name: 'Beau Oberbrunner'
                      FirstName: Beau
                      LastName: Oberbrunner
                      Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                      Email: maximillian39@example.org
                      Scope: external
                      HasContact: false
                      business:
                        Name: 'Quitzon Inc'
                        Modules: 1
                        LogoLight: null
                        LogoDark: null
                        Logo: null
                        '@type': Business
                        PasswordPolicy:
                          min: 8
                          mixedCase: true
                          symbols: false
                          uncompromised: false
                          strength: 0
                      Role: admin
                      MFA: false
                      created_at: '2026-06-29T18:54:47.000000Z'
                      Locale: en_US
                      Locked: false
                  quota:
                    price_per_user: 7
                    total_user_used: 2
                    total_user_available: 3
                properties:
                  users:
                    type: array
                    example:
                      -
                        ID: 28147
                        '@type': User
                        Title: null
                        Name: 'Jaqueline Schoen'
                        FirstName: Jaqueline
                        LastName: Schoen
                        Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                        Email: garrison49@example.org
                        Scope: external
                        HasContact: false
                        business:
                          Name: Goldner-Aufderhar
                          Modules: 1
                          LogoLight: null
                          LogoDark: null
                          Logo: null
                          '@type': Business
                          PasswordPolicy:
                            min: 8
                            mixedCase: true
                            symbols: false
                            uncompromised: false
                            strength: 0
                        Role: admin
                        MFA: false
                        created_at: '2026-06-29T18:54:47.000000Z'
                        Locale: fr_CA
                        Locked: false
                      -
                        ID: 28148
                        '@type': User
                        Title: null
                        Name: 'Beau Oberbrunner'
                        FirstName: Beau
                        LastName: Oberbrunner
                        Avatar: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                        Email: maximillian39@example.org
                        Scope: external
                        HasContact: false
                        business:
                          Name: 'Quitzon Inc'
                          Modules: 1
                          LogoLight: null
                          LogoDark: null
                          Logo: null
                          '@type': Business
                          PasswordPolicy:
                            min: 8
                            mixedCase: true
                            symbols: false
                            uncompromised: false
                            strength: 0
                        Role: admin
                        MFA: false
                        created_at: '2026-06-29T18:54:47.000000Z'
                        Locale: en_US
                        Locked: false
                    items:
                      type: object
                      properties:
                        ID:
                          type: integer
                          example: 28147
                        '@type':
                          type: string
                          example: User
                        Title:
                          type: string
                          example: null
                          nullable: true
                        Name:
                          type: string
                          example: 'Jaqueline Schoen'
                        FirstName:
                          type: string
                          example: Jaqueline
                        LastName:
                          type: string
                          example: Schoen
                        Avatar:
                          type: string
                          example: 'https://alex-macbook.tail9fea4c.ts.net/images/avatar_male.png'
                        Email:
                          type: string
                          example: garrison49@example.org
                        Scope:
                          type: string
                          example: external
                        HasContact:
                          type: boolean
                          example: false
                        business:
                          type: object
                          properties:
                            Name:
                              type: string
                              example: Goldner-Aufderhar
                            Modules:
                              type: integer
                              example: 1
                            LogoLight:
                              type: string
                              example: null
                              nullable: true
                            LogoDark:
                              type: string
                              example: null
                              nullable: true
                            Logo:
                              type: string
                              example: null
                              nullable: true
                            '@type':
                              type: string
                              example: Business
                            PasswordPolicy:
                              type: object
                              properties:
                                min:
                                  type: integer
                                  example: 8
                                mixedCase:
                                  type: boolean
                                  example: true
                                symbols:
                                  type: boolean
                                  example: false
                                uncompromised:
                                  type: boolean
                                  example: false
                                strength:
                                  type: integer
                                  example: 0
                        Role:
                          type: string
                          example: admin
                        MFA:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          example: '2026-06-29T18:54:47.000000Z'
                        Locale:
                          type: string
                          example: fr_CA
                        Locked:
                          type: boolean
                          example: false
                  quota:
                    type: object
                    properties:
                      price_per_user:
                        type: integer
                        example: 7
                      total_user_used:
                        type: integer
                        example: 2
                      total_user_available:
                        type: integer
                        example: 3
      tags:
        - 'Users of organization'
  '/api/1/org/users/{user_ID}':
    put:
      summary: 'Update user'
      operationId: updateUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Users of organization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                last_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                password_reset:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                locked:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                password:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                role:
                  type: string
                  description: ''
                  example: admin
                  enum:
                    - admin
                    - user
                    - limited
                  nullable: true
                locale:
                  type: string
                  description: ''
                  example: architecto
              required:
                - locale
    delete:
      summary: 'Delete user'
      operationId: deleteUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Users of organization'
    parameters:
      -
        in: path
        name: user_ID
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/1/organization/webhooks-endpoints:
    get:
      summary: 'List webhook endpoints'
      operationId: listWebhookEndpoints
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Webhook endpoints'
    post:
      summary: 'Create webhook endpoint'
      operationId: createWebhookEndpoint
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Webhook endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                method:
                  type: string
                  description: ''
                  example: put
                  enum:
                    - post
                    - put
                enabled:
                  type: boolean
                  description: ''
                  example: false
                url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://www.ernser.org/harum-mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html'
              required:
                - method
                - url
  '/api/1/organization/webhooks-endpoints/{endpoint_Id}':
    get:
      summary: 'Get webhook endpoint'
      operationId: getWebhookEndpoint
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - 'Webhook endpoints'
    put:
      summary: 'Update webhook endpoint'
      operationId: updateWebhookEndpoint
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Webhook endpoints'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                method:
                  type: string
                  description: ''
                  example: put
                  enum:
                    - post
                    - put
                enabled:
                  type: boolean
                  description: ''
                  example: false
                url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://www.ernser.org/harum-mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html'
    delete:
      summary: 'Delete webhook endpoint'
      operationId: deleteWebhookEndpoint
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Webhook endpoints'
    parameters:
      -
        in: path
        name: endpoint_Id
        description: ''
        example: 442832381922119680
        required: true
        schema:
          type: integer
  '/api/1/organization/webhooks-endpoints/{endpoint_Id}/webhooks':
    get:
      summary: 'List webhooks'
      operationId: listWebhooks
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: session_expired
                    message: 'Session expired. You need to login again.'
                    type: AuthenticationException
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: session_expired
                      message:
                        type: string
                        example: 'Session expired. You need to login again.'
                      type:
                        type: string
                        example: AuthenticationException
      tags:
        - Webhooks
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  properties:
                    status:
                      type: string
                      description: ''
                      example: failed
                      enum:
                        - pending
                        - sending
                        - success
                        - failed
                        - retrying
    parameters:
      -
        in: path
        name: endpoint_Id
        description: ''
        example: 442832381922119680
        required: true
        schema:
          type: integer
  '/api/1/organization/webhooks/{webhook_Id}':
    post:
      summary: 'Retry webhook'
      operationId: retryWebhook
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Webhooks
    parameters:
      -
        in: path
        name: webhook_Id
        description: ''
        example: 442694588952612864
        required: true
        schema:
          type: integer
